2016-09-13 8 views
0

これは本当にシンプルなはずですが、私はそれを行う方法を見つけることに失敗しました。kivyグラフィック命令にグループ名を割り当てます。

私のキャンバス上の指示を反復するために、私はcanvas.get_group()メソッドを使用することになっています。そのためには、最初に反復しようとする命令にグループ名を割り当てる必要があります。誰がそれをどうやって行うのですか?

答えて

1

これは私が見つけた自分の質問に対する回答です。

だから、私が発見した(from here)(キャンバス範囲内および他の多くのクラス)命令は、命令の作成時に設定することができgroupプロパティ、マニュアルに記載されていない、持っていること:とても似

をPythonで:

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

私はこれを試しました。しかし、グループの変数名(例えば 'canvas.get_group( 'green')')が割り当てられた 'get_group()'を呼び出すと、結果として得られるiterableには命令が出ません。グループ名を割り当てる方法を探していますので、 'get_group()'コールでそれを使うことができます。 –