繁体   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