kivy custom widget bind error(kivy自定义小部件绑定错误)
问题描述
我正在尝试制作一个小型俄罗斯方块游戏,用于使用 kivy 学习 python.我正在尝试创建一个大小为 20,20 的自定义小部件.当我将它添加到浮动布局并运行以下代码时,我收到以下错误:
I am trying to make a small tetris game for learning python with kivy. I am trying to create a custom widget with size 20,20. When I add it to the float layout and run the below code I receive the following error:
错误:
File "D:OS FilesworkspaceTetrisholder.py", line 10, in __init__ self.add_widget(c)
File "C:Kivy180kivykivyuixfloatlayout.py", line 115, in add_widget pos_hint=self._trigger_layout)
TypeError: descriptor 'bind' of 'kivy._event.EventDispatcher' object needs an argument
代码:holder.py 文件:
Code: holder.py File:
from items import Cell
class Holder(FloatLayout):
def __init__(self, **kwargs):
super(Holder,self).__init__(**kwargs)
self.size=(300,300)
c=Cell
#c.pos= (20,20)
self.add_widget(c)
#self.add_widget(c)
items.py 文件:
items.py File:
from kivy.uix.widget import Widget
from kivy.graphics import *
class Cell(Widget):
def __init__(self, **kwargs):
super(Cell,self).__init__(**kwargs)
with self.canvas:
Color(1, 0, 0)
Rectangle(pos=(0, 0), size=(50, 50))
self.height=50
self.width=50
main.py 文件:
main.py File:
from kivy.app import App
from holder import Holder
class start(App):
def build(self):
return Holder()
if __name__ == '__main__':
start().run()
您能否解释一下我哪里出错了,我被困在起点本身.关于错误,我也没有写任何事件,它只是一个小部件类.能否请您解释一下我在理解 kivy 方面出了什么问题.
Could you please explain where I went wrong, I am stuck at the starting point itself. Regarding the error, I haven't written any events also, and it is just a widget class. Could you please explain where I went wrong in understanding kivy.
推荐答案
c=Cell
我打赌你希望 c 成为 Cell 类的一个实例.如果你想这样做,你需要这样做:
I bet you want c to be an instance of the Cell class. If you want to do that, you need to do:
c=Cell()
这篇关于kivy自定义小部件绑定错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:kivy自定义小部件绑定错误
基础教程推荐
- Python 中是否有任何支持将长字符串转储为块文字或折叠块的 yaml 库? 2022-01-01
- 在 Python 中将货币解析为数字 2022-01-01
- 究竟什么是“容器"?在蟒蛇?(以及所有的 python 容器类型是什么?) 2022-01-01
- kivy 应用程序中的一个简单网页作为小部件 2022-01-01
- Kivy 使用 opencv.调整图像大小 2022-01-01
- 比较两个文本文件以找出差异并将它们输出到新的文本文件 2022-01-01
- Python,确定字符串是否应转换为 Int 或 Float 2022-01-01
- 在 Django Admin 中使用内联 OneToOneField 2022-01-01
- matplotlib 设置 yaxis 标签大小 2022-01-01
- 对多索引数据帧的列进行排序 2022-01-01
