python - Kivy App:TypeError:object.__init__() 只接受一个参数(要初始化的实例)
问题描述
这个练习应用程序的代码是这样的,我已经将它与示例视频的代码进行了比较,它完全一样。这可能是什么问题?
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__
解决方案
这个错误意味着你传递了一个类没有预料到的参数。参数不断在super(..., self)
调用中传递给超类,最终object
该类引发此异常。
在这种情况下,不存在的论点是multilane=False
。也许你的意思是multiline=False
。
推荐阅读
- terraform - Terraform - 使用字符串连接/连接变量
- kubernetes - kubeadm init 命令创建的 coredns pod 失败
- drilldown - 在 echarts 中下钻后如何查看之前的图表?
- java - 使用具有固定种子的 SecureRandom 对象构建 Cipher 对象是否安全?
- c# - 如何根据给定值返回评级
- node.js - node.js Aws Lambda:getObject 到 base64
- java - 值 ContextMenuItem 的 JavaFX 布尔绑定
- android - 使用 Koin 库时无法导入 ViewModel
- django - Django:如果模板标签返回多个值,如何引用变量
- sql - 在 SQL 中转置事务数据并按用户 ID 分组