簡體   English   中英

單擊時如何更改背景顏色?

[英]How to change background color on click?

我想在單擊時更改背景顏色。 看起來並不難,但問題是我在另一個 Kivy 文件中有按鈕,而不是在 main.dat 文件中。 如何從此button獲取屬性並更改其顏色?

這是我的嘗試(代碼):

Python:

easy_button = ObjectProperty()
def easy_button(self):
        self.GAME_SPEED = 0.5
MainKV:
#:import menu menu

Game:

<Game>:
    menu_canvas: menu_canvas
    score_widget: score_widget
    canvas.before:
        Rectangle:
            pos: self.pos
            size: self.size
            source: 'images/pixel.jpg'
    Label:
        font_name: "fonts/PermanentMarker-Regular.ttf"
        text: "SCORE " + str(root.score)
        size_hint: .2, .2
        pos_hint: {"x": .03, "y": .8}
        font_size: self.width/3.5
        opacity: 0
        id: score_widget
    MenuWidget:
        id: menu_canvas
 
Second Kivy File:
<MenuWidget>:
    Button:
            text: "Easy"
            font_name: "fonts/PermanentMarker-Regular.ttf"
            size_hint: .18, .15
            background_normal: ''
            background_color: .5, 1, .5, .85
            on_press: root.parent.easy_button()
            pos_hint: {"x": .2, "y": .1}
            font_size: self.width/5.5
            id: easy_button

再會。 任何導入的 kv 都允許您根據需要使用導入的小部件。 當您調用小部件時,給它一個id ,您可以直接或在回調中更改其屬性。

在您的情況下,您需要向子按鈕 ID 的MenuWidget添加一個屬性。 然后您可以通過使用回調函數中的 id 更改按鈕的屬性來更改子按鈕的屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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