HeJ小鼠
我喜欢为用于绘制多个GUI组背景的颜色定义模板。
我的kivy kv代码如下所示:
<BGRcolor@Color>:
rgb: 0.176, 0.176, 0.176
<myParamBox@BoxLayout>:
canvas:
BGRcolor:
Rectangle:
pos: root.pos
size: root.size
Color:
rgb: 0.3, 0.3, 0.3
Line:
points: root.pos[0],root.pos[1], root.pos[0] + root.size[0],root.pos[1], root.pos[0] + root.size[0],root.pos[1] + root.size[1], root.pos[0] ,root.pos[1] + root.size[1], root.pos[0],root.pos[1]
padding: 2
画布操作的Color设置不起作用。任何想法?
答案 0 :(得分:0)
颜色不是一个小工具,所以你不能像这样构建它。实际上,并没有真正的语法可以使这更简洁,但你可以使您想要拥有此颜色的所有小部件继承自具有Color规则的另一个Widget。
答案 1 :(得分:0)
我找到了一个有效的解决方案:
class myApp(kivy.app.App):
BGcolor = (0.176, 0.176, 0.176, 1.0)
kivy.lang.Builder.load_string('''
<myParamBox@BoxLayout>:
canvas:
Color:
rgb: app.BGcolor
Rectangle:
pos: root.pos
size: root.size
Color:
rgb: 0.3, 0.3, 0.3
Line:
points: root.pos[0],root.pos[1], root.pos[0] + root.size[0],root.pos[1], root.pos[0] + root.size[0],root.pos[1] + root.size[1], root.pos[0] ,root.pos[1] + root.size[1], root.pos[0],root.pos[1]
padding: 2
''')
在app实例中定义颜色touple并在模板中引用它。