我正在使用 kivy 框架创建一个程序,并希望能够使用变量控制矩形的颜色,但每当我尝试时,矩形都会显示为默认的白色。
这是我试图实现的代码(在实际程序中颜色是在其他地方设置的变量)。我查看了 kivy 文档,但从我所看到的来看,矩形只有 pos 和 size 标签,所以你无法通过这种方式控制颜色。
color =(33/255, 36/255, 52/255, 1)
#create backround for bottom grid layout
with bottom_grid_layout.canvas.before:
#Color(33/255, 36/255, 52/255, 1)
Color(color)
self.rectangles = Rectangle(pos=(0, 0), size=(Window.width*2, 100))
我的代码中的其他地方有
save_button = Button(text='Save', size_hint=(1,.1),color = (primary_color) , background_color(button_accent_color))
这非常有效。请注意,我不使用 .kv 文件的原因是为了更容易在程序中更新元素的颜色和大小。
您需要做的就是在颜色引用前添加一个星号来解压元组。
这是固定代码。
color =(33/255, 36/255, 52/255, 1)
#create backround for bottom grid layout
with bottom_grid_layout.canvas.before:
Color(*color)
self.rectangles = Rectangle(pos=(0, 0), size=(Window.width*2, 100))