gpt4 book ai didi

python - 基维 : line color in canvas won't update

转载 作者:行者123 更新时间:2023-12-01 04:38:12 25 4
gpt4 key购买 nike

我在设置 Canvas 中线条的颜色时遇到一些问题。

kivy drawable app

我已将 Canvas 中矩形线的颜色链接到属性,但奇怪的是,它似乎没有正确更新。通常矩形应该是红色的或者根本不可见,但这里它总是白色的。

这是我的示例 kv 文件:

#:kivy 1.0.9

<Drawable>:
rectangleColor: 1,0,0,1 if self.visible else 0,0,0,0
canvas:
Color:
rgba: self.rectangleColor
Line:
rectangle: self.x+0.25*self.width, self.y+0.25*self.height, 0.5*self.width, 0.5*self.height

这是相应的 python 文件:

#!/usr/bin/env python3

# Kivy raw imports
from kivy.uix.widget import Widget
from kivy.properties import NumericProperty, ReferenceListProperty,\
BooleanProperty, ListProperty

class Drawable(Widget):
visible = BooleanProperty(False)
rectangleColor = ListProperty([])

def on_touch_down(self, touch):
if self.collide_point(*touch.pos):
print("touch down")
self.visible = True
return True
return super().on_touch_down(touch)

def on_touch_up(self, touch):
print("touch up\n")
self.visible = False
return super().on_touch_up(touch)

if __name__ == "__main__":

from kivy.app import App
class drawableApp(App):
def build(self):
return Drawable()
drawableApp().run()

你知道我做错了什么吗?

最佳答案

使用括号。

<Drawable>:
rectangleColor: (1,0,0,1) if self.visible else (0,0,0,0)

关于python - 基维 : line color in canvas won't update,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31334519/

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