これは本当にシンプルなはずですが、私はそれを行う方法を見つけることに失敗しました。kivyグラフィック命令にグループ名を割り当てます。
私のキャンバス上の指示を反復するために、私はcanvas.get_group()
メソッドを使用することになっています。そのためには、最初に反復しようとする命令にグループ名を割り当てる必要があります。誰がそれをどうやって行うのですか?
これは本当にシンプルなはずですが、私はそれを行う方法を見つけることに失敗しました。kivyグラフィック命令にグループ名を割り当てます。
私のキャンバス上の指示を反復するために、私はcanvas.get_group()
メソッドを使用することになっています。そのためには、最初に反復しようとする命令にグループ名を割り当てる必要があります。誰がそれをどうやって行うのですか?
これは私が見つけた自分の質問に対する回答です。
だから、私が発見した(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をチェックしてください。
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]]
私はこれを試しました。しかし、グループの変数名(例えば 'canvas.get_group( 'green')')が割り当てられた 'get_group()'を呼び出すと、結果として得られるiterableには命令が出ません。グループ名を割り当てる方法を探していますので、 'get_group()'コールでそれを使うことができます。 –