這是工作
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.label import Label
from kivy.properties import StringProperty
kv_str = Builder.load_string("""
Button:
on_press: print(app.label_text)
""")
class MyApp(App):
label_text = StringProperty()
def __init__(self, **kwargs):
self.label_text = 'Palim'
super(MyApp, self).__init__(**kwargs)
def build(self):
return kv_str
if __name__ == '__main__':
MyApp().run()
這不是
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.label import Label
from kivy.properties import StringProperty
kv_str = Builder.load_string("""
Button:
text: app.label_text
on_press: print(app.label_text)
""")
class MyApp(App):
label_text = StringProperty()
def __init__(self, **kwargs):
self.label_text = 'Palim'
super(MyApp, self).__init__(**kwargs)
def build(self):
return kv_str
if __name__ == '__main__':
MyApp().run()
我相信,當它被初始化按鈕,或在您的案件標籤中的文本kivy沒有設置該屬性。
但是一般來說,我會把這個文本粘貼到標籤本身。
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.label import Label
class Lbl(Label):
def __init__(self, **kwargs):
self.text = 'Palim'
super(Lbl, self).__init__(**kwargs)
kv_str = Builder.load_string("""
Lbl:
""")
class MyApp(App):
def build(self):
return kv_str
if __name__ == '__main__':
MyApp().run()
你的意思是'access'是'someVariable'的值嗎? – quamrana
@quamrana是的,這是我想要的 –