kivy custom widget bind error
Question: I am new to Kivy as well as Python, so please bare with me. 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.


Answer: 
    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()
    

