使用kivy,为什么矩形不会改变颜色?
问题描述:
我正在使用Python的第二版Kivy-Interactive Applications and Games。矩形应该是灰色的,但它们只是白色的。我从Git集线器下载了一些代码,它应该返回对角红线,但它的白色也是。任何帮助将不胜感激,我可能会错过简单的东西。使用kivy,为什么矩形不会改变颜色?
# 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()
答
这里有几件事情。
您的颜色应大写,如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()
我知道这会工作。我只是复制了这本书的内容。我只是小写的颜色是新东西,我做错了。 –
@BradleyRay好吧,你有它。那是错的。正如你所说,可能是简单的:) – EL3PHANTEN
感谢您的帮助:) –