2016-02-04 63 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