はボタンがあります:Kivyのウィジェットのテキストを自動更新する方法は? app.kvファイルで
Button:
text: var1
時には
VAR1変更。コード内の明示的な属性割り当てなしでボタン(またはラベルなど)のテキストを変更するにはどうすればよいですか?
はボタンがあります:Kivyのウィジェットのテキストを自動更新する方法は? app.kvファイルで
Button:
text: var1
時には
VAR1変更。コード内の明示的な属性割り当てなしでボタン(またはラベルなど)のテキストを変更するにはどうすればよいですか?
これはKivyが自動的に行うことができますが、var1がkivyプロパティの場合にのみ有効です。あなたはそれらについてもっと読むことができますhere
それはまだvar1がkivyプロパティではないことを意味します。あなたは、クラス属性、例えば、それらを設定する必要があります。:
KVでclass MyWidget
var1 = NumericProperty()
[...]
、その後:
MyWidget:
Button:
text: root.var1
または何でもしたいです。あなたが設定している値がkivyプロパティである限り、それはうまくいくはずです。場合によっては右側の値が複雑なもの(text: "" if root.var is None else getattr("mystring", root.var)
)のものは簡単にはうまくいかないかもしれませんが、その場合は他のスタックオーバーフローに関する質問があります。
コースに直接アクセスできます。 text: var1
をする必要はありません。これらはかなり一般的な方法ですが、それ以外にもsetattr()
などがあります。そのインスタンスを通じて
:
<Buttons_Root>:
Button:
id: mybutton
→PY:その親を通して
b = Buttons_Root()
b.ids.mybutton.text = 'something'
: PY→
<MyBoxLayout>:
Button:
:
box = MyBoxLayout()
box.children[0].text = 'something'