【问题标题】: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 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-14
      • 2014-03-04
      相关资源
      最近更新 更多