1
У меня есть проблема с настройкой цвета линии в холсте.Kivy: цвет линии в холсте не обновляется
Я связал цвет прямоугольника линии в холст на собственность и удачливый, он, кажется, не обновлять должным образом. Обычно прямоугольник должен быть красным или вообще не видимым, но здесь всегда белый.
Вот мой пример киловольт файл:
#: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
А вот соответствующий питон файл:
#!/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()
У вас есть представление о том, что я делаю не так?
Спасибо, корень ничего не изменил, кроме скобок! –
Как только редактирование будет подтверждено, я подтвержу ответ. Спасибо @ kiok46 –
см. Редактирование в ответ. – kiok46