Kivy: how to use canvas for widgets created in python

后端 未结 1 1449
半阙折子戏
半阙折子戏 2021-01-26 03:38

I would like to add a canvas to my checkboxes to change their color. I have found this answer, but I am struggling to implement it. My checkboxes are created in python with thi

相关标签:
1条回答
  • 2021-01-26 04:30

    You should use the with statement from your python code

    with checkb.canvas:
        Color(1., 1., 0)
        Rectangle(size=(50, 50))
    

    Your other approach seems better, just fix it a bit:

    Builder.load_string('''
    <CustomCk>:
        canvas.before:
            Color:
                rgb: 1,0,0
            Rectangle:
                pos:self.center_x-8, self.center_y-8
                size:[16,16]
            Color:
                rgb: 0,0,0
            Rectangle:
                pos:self.center_x-7, self.center_y-7
                size:[14,14]                
    
        ''')
    
    class CustomCk(CheckBox): #define the class in the python file... 
         pass
    
    checkb= CustomCk()
    layout.add_widget(checkb)
    
    0 讨论(0)
提交回复
热议问题