kivy custom widget bind error
kivy, python, python-3.x, widget
Solution
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()
Problem
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: Error: ``` File "D:\OS Files\workspace\Tetris\holder.py", line 10, in __init__ self.add_widget(c) File "C:\Kivy180\kivy\kivy\uix\floatlayout.py", line 115, in add_widget pos_hint=self._trigger_layout) TypeError: descriptor 'bind' of 'kivy._event.EventDispatcher' object needs an argument ``` 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 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 File: ``` from kivy.app import App from holder import Holder class start(App): def build(self): return Holder() if __name__ == '__main__': start().run() ``` 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.