2016-02-04 60 views
0

什么是改变测试标签以正确的方式更改标签文本在下面的代码:如何(使用my_callback功能)通过Clock.schedule_interval

class Hello(FloatLayout): 
    def __init__(self,**kwargs): 
     super(Hello,self).__init__(**kwargs) 
     self.Test = Label(text = "Aaa", pos=(0,0), font_size=70) 
     self.add_widget(self.Test) 

    def my_callback(self): 
     print('My callback is called') 
     self.Test.text = "Bbb" 

    Clock.schedule_interval(my_callback, 3) 

class app1(App): 
    def build(self): 
     return Hello() 

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

现在有错误:

AttributeError: 'float' object has no attribute 'Test'

可能自我打电话有什么问题?

回答

1
class Hello(FloatLayout): 
    def __init__(self,**kwargs): 
     super(Hello,self).__init__(**kwargs) 
     self.Test = Label(text = "Aaa", pos=(0,0), font_size=70) 
     self.add_widget(self.Test) 
     Clock.schedule_interval(self.my_callback, 3) 
    def my_callback(self, dt=0): 
     print('My callback is called') 
     self.Test.text = "Bbb" 

你可能想看看一些基本的Python教程跳右转入kivy前...

+0

谢谢Joran,你是对的,我赶上了。如果您不介意,我会在您的代码中添加一件事:my_callback应收回两个参数;) – AvS