저는 Kivy를 처음 사용하고 있으며 위젯에 대해 몇 가지 질문이 있습니다. 나는 Kivy를 몇 달 전에 망쳐 버리기 시작했다. 나는 약간의 문서를 읽었지만 나는 많은 것들을 놓쳤을지도 모른다.Kivy가 위젯의 새 인스턴스를 만듭니다.
고유 한 속성을 사용하여 동일한 위젯 클래스의 인스턴스를 여러 개 만들 수 있습니까?
제 목표는 크기를 조정하고 독립적으로 드래그 할 수있는 몇 개의 직사각형을 만드는 것입니다.
저는 Java 클래스를 사용하기 때문에 클래스에서 배운 내용과 비교해 보겠습니다. 예를 들어, 기본 rect.java 클래스에서 폭과 높이의 두 변수를 사용하도록 설정했다고 가정 해 보겠습니다.
그래서 내 주 된 .java 코드 파일에서 나는 사각형 클래스의 몇 가지 인스턴스를 생성하기 위해 다음처럼 작성할 수 있습니다 :rect s1 = new rect(2,3); // width & height
rect s2 = new rect(5,4);
그런 다음 s1.height 및 s2.height는 다른 값을 가질 것이다.
Kivy에서 비슷한 것을 달성 할 수 있습니까? 그것은 크기 조정 및 주변 드래그 할 수 있도록 내 평 파일에 코드를 작성했습니다
<rect1>:
canvas:
Color:
rgba: 1, 0, 1, 0.5
Rectangle:
pos: root.center_x - root.width/2,root.center_y - root.height/2
size: self.size
<rect2>:
canvas:
Color:
rgba: 1, 1, 0, 0.5
Rectangle:
pos: root.center_x - root.width/2,root.center_y - root.height/2
size: self.size
<rect3>:
canvas:
Color:
rgba: 0, 1, 0, 0.5
Rectangle:
pos: root.center_x - root.width/2,root.center_y - root.height/2
size: self.size
: 지금 내 .kv 파일에서 설정 한 속성이 같은 많은 클래스가 있습니다. 지금은 각 추가 클래스를 사용하기 위해 코드를 복사/수정했습니다.
내가 사용하는 지금은, 경우 :
Window.add_widget(rect1)
그것은 바로 하나 이상 상단에 새 인스턴스를 만들 것입니다하지만 난 내 마우스로 드래그하면 그들은 여전히 등 같은 좌표 및 기타 속성을 공유하고, 그 클래스의 모든 인스턴스는 같은 좌표를 따릅니다. 다시 한 번, 제 목표는 크기를 조정하고 독립적으로 드래그 할 수있는 여러 사각형을 만드는 것입니다.