【发布时间】:2020-11-06 13:56:35
【问题描述】:
你好,我是新手。我试图向我的屏幕类发送价值。我认为我发送正确,但它没有自我更新。如果我在 .kv 文件中写东西,它确实会为我更新。但我不确定如何将新值更新到我的标签。
from kivy.app import App
from kivy.uix.screenmanager import Screen,ScreenManager
from kivy.lang import Builder
from kivy.properties import StringProperty
from kivy.uix.popup import Popup
Builder.load_string('''
<SM>:
Page1:
name: 'page1name'
<TestPop>:
title: 'test pop title'
BoxLayout:
orientation: 'vertical'
TextInput:
id: test_textinput
Button:
text: 'Confirm'
on_release: root.dismiss()
<Page1>:
BoxLayout:
orientation: 'vertical'
Button:
text: 'Open Pop'
on_release: root.func1()
Label:
text: root.my_label_string
''')
class Page1(Screen):
my_label_string = StringProperty('Default')
def func1(self):
a = TestPop()
a.open()
class TestPop(Popup):
my_tinput_string = StringProperty('')
def on_dismiss(self):
new_text = self.ids.test_textinput.text
Page1.my_label_string = new_text
class SM(ScreenManager):
pass
class MainApp(App):
def build(self):
return SM()
if __name__ in ('__main__'):
MainApp().run()
【问题讨论】:
标签: python kivy kivy-language