2017-05-21 113 views
0

我嘗試在事件上添加Button並且沒有結果。這是我調用'add_picture'函數的代碼的一部分。什麼是問題?在事件中添加小部件。 Kivy

UPD 構建方法通過.kv文件製作gui界面。

class TakePictureApp(App): 
    def build(self): 
     self.index = 0 
     activity.bind(on_activity_result=self.on_activity_result) 

    def on_activity_result(self, requestCode, resultCode, intent): 
     if requestCode == 0x123: 
      Clock.schedule_once(partial(self.add_picture, self.last_fn), 0) 

在這個地方嘗試添加按鈕(2種方法)

def add_picture(self, fn, *args): 
     self.Button.text = 'Allo' 

     # return Button(text = 'Allo') 

回答

2

你的構建方法應該返回小部件樹。例如,我可以用我的build()返回Label的方式使用它,並且我將widgets添加到該Label。 您的build()方法看起來像它不會返回任何東西..

+0

對於構建樹我使用.kv文件。我是否正確理解,構建方法後我無法添加小部件? –

+1

不可以。您可以添加wigdets,但只能將它們添加到您在build()方法中返回的小部件中。查看本教程中的代碼(向下滾動到最終代碼):https://kivy.org/docs/tutorials/firstwidget.html。構建方法返回父對象。你應該添加你的小部件到那個父對象。構建方法必須返回一些東西。 – Qback