簡體   English   中英

kivy:按下按鈕->更改標簽顏色

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM