我的应用程序从数据库中获取数据,并存储在Python中的变量中。下面的代码是一个简化版本,其中有两个屏幕。第一个屏幕有两个按钮,第二个屏幕有一个标签和一个后退按钮。第二个屏幕上的标签文本将根据按下的按钮而改变。在
运行时,标签设置为StringProperty的值,即“Test”。当单击其中一个按钮时,ChangeScreen函数将运行并计算出正确的新标签。第二个函数上的LabelUpdater函数已运行,它应该更改字符串属性,但没有更改。如何解决此问题?谢谢<;3
Python:
import kivy
from kivy.app import App
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.properties import StringProperty
class DemoScreen1(Screen):
def ChangeScreen(self, button_text):
if button_text == "Button 1":
new_label = "This is the new label when button 1 is pressed"
DemoScreen2.LabelUpdater(new_label)
else:
new_label2 = "This is the new label when button 2 is pressed"
DemoScreen2.LabelUpdater(new_label2)
self.parent.current = "demoscreen2"
class DemoScreen2(Screen):
screen2_label = StringProperty("Test")
def LabelUpdater(NEW_LABEL):
screen2_label = StringProperty(NEW_LABEL)
class AppScreenManager(ScreenManager):
pass
class Tester(App):
pass
if __name__ == '__main__':
Tester().run()
基维:
^{pr2}$
使用
ids
并通过AppScreenManager
即屏幕管理器进行引用。在请参阅下面的完整示例。在
^{pr2}$千伏
相关问题 更多 >
编程相关推荐