使用kivy,为什么矩形不会改变颜色?

时间:2017-08-06 20:39:59

标签: colors kivy

我正在使用第二版Kivy-Interactive应用程序和Python游戏。矩形应该是灰色的,但它们只是白色的。我从git hub下载了一些代码,该代码应该返回对角红线,但它的白色也是如此。任何帮助将不胜感激,我可能只是缺少一些简单的东西。

# File name: color.py
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.lang import Builder

Builder.load_string("""
<GridLayout>:
    cols: 2
    Label:
        color: 0.5, 0.5, 0.5, 1
        canvas:
            Rectangle:
                pos: self.x + 10, self.y + 10
                size: self.width - 20, self.height - 20
    Widget:
        canvas:
            Rectangle:
                pos: self.x + 10, self.y + 10
                size: self.width - 20, self.height  - 20
""")

class LabelApp(App):
    def build(self):
        return GridLayout()

if __name__ == '__main__':
    LabelApp().run()

1 个答案:

答案 0 :(得分:2)

这里有几件事 你的颜色应大写,如Color。并且必须在canvas内 然后它应包含rgba例如。

试试这个:

from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.lang import Builder

Builder.load_string("""
<GridLayout>:
    cols: 2
    Widget:
        canvas:
            Color: 
                rgba: 0.5, 0.5, 0.5, 1
            Rectangle:
                pos: self.x + 10, self.y + 10
                size: self.width - 20, self.height - 20
    Widget:
        canvas:
            Rectangle:
                pos: self.x + 10, self.y + 10
                size: self.width - 20, self.height  - 20
""")

class LabelApp(App):
    def build(self):
        return GridLayout()

if __name__ == '__main__':
    LabelApp().run()