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