gpt4 book ai didi

python - kivy __init__ 采用 1 个位置参数,但给出了 2 个

转载 作者:太空宇宙 更新时间:2023-11-04 02:47:46 24 4
gpt4 key购买 nike

所以我正在为一个学校项目学习 Kivy,但在测试 Buttons 时遇到错误。这是我的代码:

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()

我得到的错误在标题中(init 接受 1 个后置参数,但给出了 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()

关于python - kivy __init__ 采用 1 个位置参数,但给出了 2 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44658067/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com