2017-05-21 65 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