私がしたいのは、リストにウィジェットの束を追加して後でキャンバスに各ウィジェットを描画できるようにすることです。私は、ループを使用することを考えている(例えば、ウィジェットのウィジェットの場合):そしてその描画関数を呼び出す。私は、それぞれのウィジェットを互いに依存しないので、それぞれのウィジェットをそれ自身のエンティティにしたい(私が1つを削除することを選択した場合、他は削除されない)。私はあなたがリストにオブジェクトを追加し、彼らを呼び出すことができますのように、これは、オブジェクトのための定期的なPythonで可能である知っているkivy/pythonでウィジェットを追加するにはどうすればいいですか?
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.graphics import Color, Ellipse, Line
class YellowDot(Widget):
def draw(self):
with self.canvas:
Color(1,1,0)
Ellipse(pos=(500, 500), size=(50,50))
class TestApp(App):
def build(self):
game=YellowDot()
game.draw()
return game
if __name__ == '__main__':
TestApp().run()
:これまでのところ、私は最低限(それが唯一の1つの黄色の点を描画する)ためのコードを持っていますそれぞれの機能。ウィジェットをリストなどに追加することは可能ですか?あなたは、ウィジェットがガベージコレクション(メモリから解放)か、しないことができるようにしたい場合は
にcivy 'add_widget'でウィジェットを表示するには親ウィジェットが使用されます。また、スタイリングにkv言語を使用することをお勧めします。変化する属性を参照する際に問題は解決します。 – syntonym
ウィジェットは普通のpythonオブジェクトなので、ウィジェットはあなたが望むものを何でも(例えば、リストに格納したり、辞書に入れたり、関数に与えるなど)行うことができます。 – syntonym