gpt4 book ai didi

python - kivy:为什么我不能改变矩形的颜色?

转载 作者:太空宇宙 更新时间:2023-11-04 02:38:29 28 4
gpt4 key购买 nike

这是一个绘制标签 Canvas 的方法:

def update_canvas(self):
c = self.canvas.after
c.clear()
with c:
Color([1, 1, 1, 1])
Line(points=[self.point_from, self.point_to])
if self.texture:
Color([1, 0, 0, 1]) # RED RECTANGLE!
Rectangle(pos=self.pos, size=self.size)
Color([1, 1, 1, 1])
Rectangle(pos=self.pos, texture=self.texture, size=self.texture.size)

用作工具提示的标签,它还有一条线指向工具提示项。上面的版本产生这个输出:

enter image description here

如果我在 RED COLOR 行之后注释掉 Rectangle 指令,则会显示:

enter image description here

请注意,文本的标签被渲染了两次,因为我还添加了一个 Rectangle(texture=self.texture) 指令,但这仅用于测试。

标签本身通过这个简单的调用添加到窗口中:

Windows.add_widget(label)

问题是:为什么我的矩形不是红色的? (其实我希望它是半透明的。)

最佳答案

您正在将列表 [] 传递给 Color(),而 Color 需要至少 3 个参数 rgb、rgba、rgb + mode或 rgba + 模式

试试这个:

def update_canvas(self):
c = self.canvas.after
c.clear()
with c:
Color(1, 1, 1, 1)
Line(points=[self.point_from, self.point_to])
if self.texture:
Color(1, 0, 0, 1) # RED RECTANGLE!
Rectangle(pos=self.pos, size=self.size)
Color(1, 1, 1, 1)
Rectangle(pos=self.pos, texture=self.texture, size=self.texture.size)

如果你想要一个半透明的矩形,将 rgba 更改为 1,0,0,.5

关于python - kivy:为什么我不能改变矩形的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47250357/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com