Kivy:如何为python创建的小部件使用画布

2024-06-26 17:00:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我想添加一个画布到我的复选框,以改变他们的颜色。我已经找到了这个answer,但我正在努力实现它。 我的复选框是在python中用以下代码创建的:

checkb= CheckBox()
layout.add_widget(checkb)

尝试1:我尝试了here的解决方案,但没有成功:

^{pr2}$

尝试2:我还尝试在生成器中创建一个自定义复选框,但没有找到使其工作的方法(我找不到任何有关这种设置的信息,因此我甚至不确定是否可以使其工作):

Builder.load_string('''
<CustomCk@CheckBox>:
    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]                

''')

以及

checkb= CustomCk()
layout.add_widget(checkb)

编辑:我尝试with the with语句:

checkb= CheckBox()  
with checkb.canvas:
    Color(1, 2, 0)
    Rectangle(size=(50, 50))
layout.add_widget(checkb)

Tags: selfaddsizewithrgbwidget复选框color