gpt4 book ai didi

python - 尝试更改 Kivy 中的标签文本,但它永远不会改变

转载 作者:太空宇宙 更新时间:2023-11-03 15:49:41 25 4
gpt4 key购买 nike

这是我正在使用的一个基本示例。标签按我的预期显示,但文本永远不会改变,即使我确实在控制台中看到打印语句显示 Clock.schedule_interval 滴答作响。对于出了什么问题有什么想法吗???

谢谢您,新年快乐!

首先是 .kvlang 文件

<Demo>:
button_text: my_button
BoxLayout:
Label:
id: my_button
text: 'Initial Text!'

还有我的Python。

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import ObjectProperty, StringProperty
from kivy.clock import Clock
import random



class Demo(BoxLayout):
button_text = ObjectProperty

def change_text(self, dt):
self.button_text.text = str(random.randint(1, 10))
print('Should have changed button text to {}'.format(self.button_text.text))

def start(self):
Clock.schedule_interval(self.change_text, 10)

class TutorialApp(App):
def build(self):
foo = Demo()
foo.start()
return Demo()

if __name__ == "__main__":
TutorialApp().run()

最佳答案

你缺少括号

button_text = ObjectProperty

更改为

button_text = ObjectProperty(None) # Ha! :)

此外,您应该返回foo,而不是创建另一个演示

def build(self):
foo = Demo()
foo.start()
#return Demo() change to...
return foo

由于后续Demo不会更新...

关于python - 尝试更改 Kivy 中的标签文本,但它永远不会改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41418391/

25 4 0