[英]kivy: press button -> change color of a label
在kv文件中,我添加了一個Label並更改了其顏色:
Label:
id: ampel_rot
canvas.before:
Color:
rgba: 1, 0, 0, 0.3
Ellipse:
size: self.size
我的目標是創建某種交通信號燈,以便GUI的用戶在整個過程中獲得某種視覺反饋。 為此,我必須在運行時更改此Label的顏色。 但是,在這種情況下,我不了解kv文件和main.py之間的連接。
我嘗試了類似的東西:
self.ids.ampel_rot.canvas.before.Color.rgba(1, 0, 0, 1)
當然哪個不起作用。
那么,如何更改main.py中的標簽顏色? 有人可以啟發我嗎? 非常感謝!
最簡單的方法是使用中介財產
from kivy.properties import ListProperty
class ColourLabel(Label):
ellipse_colour = ListProperty([1, 0, 0, 1])
然后在kv中
<ColourLabel>:
canvas.before:
Color:
rgba: self.ellipse_colour
Ellipse:
size: self.size
pos: self.pos
請注意,我已將pos添加到Ellipse中,這通常是必需的。
然后,您可以將ColourLabel添加到原始示例所使用的相同規則,並且修改代碼變為self.ids.ampel_rot.ellipse_colour = (1, 1, 1, 1)
等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.