【问题标题】:Kivy App: TypeError: object.__init__() takes exactly one argument (the instance to initialize)Kivy App: TypeError: object.__init__() 只接受一个参数(要初始化的实例)
【发布时间】:2020-11-14 20:50:14
【问题描述】:

这个练习应用程序的代码是这样的,我将它与示例视频的代码进行了比较,它完全一样。 可能是什么问题?

import kivy
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.textinput import TextInput


class MyGrid(GridLayout):
    def __init__(self, **kwargs):
        super(MyGrid, self).__init__(**kwargs)
        self.cols = 2 
        self.add_widget(Label(text="Name: "))
        self.name = TextInput(multilane=False)
        self.add_widget(self.name)
        


class MyApp(App):
    def build(self):
        return MyGrid()

if __name__ == "__main__":
    MyApp().run()

但它抛出了这个错误:

TypeError: object.__init__() takes exactly one argument (the instance to initialize)

参考:

File "C:/Users/JLHI6/AppData/Local/Programs/Python/Python38-32/Scripts/Prueba Kivy.py", line 23, in <module>
     MyApp().run()
File "C:/Users/JLHI6/AppData/Local/Programs/Python/Python38-32/Scripts/Prueba Kivy.py", line 20, in build
     return MyGrid()
   File "C:/Users/JLHI6/AppData/Local/Programs/Python/Python38-32/Scripts/Prueba Kivy.py", line 13, in __init__

【问题讨论】:

    标签: python python-3.x kivy


    【解决方案1】:

    这个错误意味着你传递了一个类没有预料到的参数。参数不断在super(..., self) 调用中传递给超类,最终object 类引发此异常。

    在这种情况下,不存在的参数是multilane=False。也许你的意思是multiline=False

    【讨论】:

      猜你喜欢
      • 2020-01-25
      • 1970-01-01
      • 2021-12-19
      • 2019-12-31
      • 2021-01-06
      • 2021-04-16
      • 2021-09-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多