2016-09-13 2 views
0

이것은 정말 간단해야하는 것처럼 보입니다. 그러나 나는 그것을 할 방법을 찾지 못했습니다.kivy 그래픽 명령에 그룹 이름 지정

내 캔버스의 지침을 반복하려면 canvas.get_group() 메서드를 사용해야합니다. 그렇게하기 위해 먼저 반복 할 의도가있는 명령에 그룹 이름을 지정해야합니다. 어떻게 그 일을합니까?

답변

1

이것은 내가 찾은 내 자신의 질문에 대한 답변입니다.

그래서, 내가 발견 (from here) (캔버스 범위 및 많은 다른 클래스) 지침은 명령 만들 때 설정할 수있는 group 특성, 문서에없는, 가지고 :과 같이

with self.canvas: (self must be a widget) 
    Rectangle(pos=self.pos, size=self.size, group='my_group') 

등 KV처럼 : 파이썬에서

<SomeWidget>: 
    canvas: 
     Rectangle: 
      group:'my_group' 

,과 같이에 나중에 전화를 할 때은 지시 사항이 들어있는 반복 가능을 리턴합니다.

그러나이 문제는 자체적으로 발생합니다. 내 next question을 확인하십시오.

0

InstructionGroup()을 사용하십시오. 다음은 kivy 문서의 예입니다.

blue = InstructionGroup() 
blue.add(Color(0, 0, 1, 0.2)) 
blue.add(Rectangle(pos=self.pos, size=(100, 100))) 

green = InstructionGroup() 
green.add(Color(0, 1, 0, 0.4)) 
green.add(Rectangle(pos=(100, 100), size=(100, 100))) 

# Here, self should be a Widget or subclass 
[self.canvas.add(group) for group in [blue, green]] 
+0

나는 이것을 시도했다. 그러나 그룹 varialbe 이름이 할당 된 (예 :'canvas.get_group ('green')') get_group()을 호출하면 결과 iterable에 명령어가 없으므로 빈리스트가 반환됩니다. 내가'get_group()'호출에서 사용할 수 있도록 그룹 이름을 할당하는 방법을 찾고있다. –