【问题标题】:Kivy fails to change label textKivy 无法更改标签文本
【发布时间】:2015-11-16 16:01:47
【问题描述】:
我正在尝试使用Kivy 创建一个简单的脚本:
def __init__(self):
super(ProvaLayout, self).__init__()
self.cols = 2
self.Labell = Label(text="-------------")
self.add_widget(self.Labell)
self.btn = Button(text="caio")
self.add_widget(self.btn)
def callback(self, pos, instance):
self.Labell=Label(text="caio")
self.btn.bind(on_pressed = callback)
但是,上面的内容并没有改变labell的文字。
【问题讨论】:
标签:
android
python
ios
kivy
【解决方案1】:
修正版。 cmets 中描述的错误。
def __init__(self):
super(ProvaLayout, self).__init__()
self.cols = 2
self.Labell = Label(text="-------------")
self.add_widget(self.Labell)
self.btn = Button(text="caio")
self.add_widget(self.btn)
def callback(instance): # single argument without self (it's a local function inside a method)
self.Labell.text="caio" # changing text property of existing self.Label instead of creating a new object
self.btn.bind(on_press = callback) # you should use on_press, not on_pressed