File "kivy\_event.pyx", line 235, in kivy._event.EventDispatcher.__init__ TypeError: object.__init__() takes exactly one argument (the instance to initialize) 怎么解决 def __init__(self, **kwargs): super(MyGridLayout, self).__init__(**kwargs) self.cols = 2
时间: 2023-06-24 15:03:07 浏览: 62
这个错误通常是因为 `super(MyGridLayout, self).__init__(**kwargs)` 中的 `MyGridLayout` 没有正确地继承父类的 `__init__` 方法。
请确认你的 `MyGridLayout` 类是否正确继承了 `kivy.uix.gridlayout.GridLayout` 父类,例如:
```python
from kivy.uix.gridlayout import GridLayout
class MyGridLayout(GridLayout):
def __init__(self, **kwargs):
super(MyGridLayout, self).__init__(**kwargs)
self.cols = 2
```
如果这样也不行,你可以尝试移除 `__init__` 方法中的 `super` 语句,像这样:
```python
class MyGridLayout(GridLayout):
def __init__(self, **kwargs):
self.cols = 2
```
但是这种情况下,你需要确保在自己的 `__init__` 函数中手动调用父类的 `__init__` 方法,例如:
```python
class MyGridLayout(GridLayout):
def __init__(self, **kwargs):
self.cols = 2
super(MyGridLayout, self).__init__(**kwargs)
```
希望这些方法能够帮助你解决问题。