我正致力于构建一个kivy应用。下面的代码是一个简单的Hello World of Sorts。按按钮。标签从“Hello”变为“World”
import kivy
kivy.require('1.9.1') # replace with your current kivy version !
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.label import Label
#from tasks import assign_task
class GetTask():
def __init__(self, **kwargs):
super(GetTask,self).__init__(**kwargs)
self.main_label = Label(text = "Hello")
button = Button(text="Press")
button.bind(on_press= self.update)
def update(self):
self.main_label.text = "World"
class MyApp(App):
def build(self):
return GetTask()
if __name__ == '__main__':
MyApp().run()
我运行时遇到的错误是:
raise Exception('Invalid instance in App.root')
Exception: Invalid instance in App.root
我看了这个 - Kivy: Invalid instance in App.root
我仍然无法弄清楚我做错了什么。请帮忙。谢谢。
答案 0 :(得分:1)
您的GetTask继承了什么?在我看来,它根本不会从任何东西中继承。尝试将其更改为
class GetTask(Widget):
# The rest is like it's in your code.
另请查看我在问题下的评论。但不确定它是否仍然是1.9.1中的问题。