kivy __init__需要1个事后论点,但有2个被给予
问题描述:
因此,我正在学习Kivy的一个学校项目,并且在测试按钮时出错。这是我的代码:kivy __init__需要1个事后论点,但有2个被给予
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.clock import Clock
from kivy.uix.button import Button
class übung(GridLayout):
def lol(instance):
label.disabled = False
def __init__(self):
super(übung, self).__init__
self.cols = 2
self.label = Label ("Ehrm ... lol")
label.disabled = True
self.btn1 = Button(text="Hello world 1")
self.btn1.bind(on_press=lol)
self.btn2 = Button(text="Hello world 2")
self.btn2.bind(on_press=lol)
class App(App):
def build(self):
return übung()
if __name__ == "__main__":
App().run()
我得到的错误是在标题(初始化需要1个postitional说法,但分别给予2)。它应该是两个按钮,如果你按一个它说ehrm ...大声笑。正如我所说,这只是为了测试目的。
由于事先 我
答
你有几个错误。你显示的错误是因为你的名字给个说法(text
)传递给Label
构造:
self.label = Label (text="Ehrm ... lol")
您的代码应该是这个样子:
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.button import Button
class übung(GridLayout):
def __init__(self, **kwargs):
super(übung, self).__init__(**kwargs)
self.cols = 2
self.label = Label(text = "Ehrm ... lol")
self.label.disabled = True
self.btn1 = Button(text="Hello world 1")
self.btn1.bind(on_press=self.lol)
self.btn2 = Button(text="Hello world 2")
self.btn2.bind(on_press=self.lol)
self.add_widget(self.label)
self.add_widget(self.btn1)
self.add_widget(self.btn2)
def lol(self, event):
self.label.disabled = False
class App(App):
def build(self):
return übung()
if __name__ == "__main__":
App().run()
有什么确切的错误?错误发生在哪里? – Carcigenicate
它已经解决了。我只是没有添加self.add_widget(self。(name)) – Banana