Dies funktioniert
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()
Dies ist nicht
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()
Ich glaube Kivy nicht die Eigenschaft gesetzt, wenn er den Text auf den Button oder in Ihrem Fall Etikett zu initialisieren.
Aber im Allgemeinen würde ich diesen Text an das Etikett selbst kleben.
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()
Meinst du "Zugriff" auf den Text, der der Wert von 'someVariable' ist? – quamrana
@quamrana ja das ist was ich will –