在kivy中单击时如何更改按钮的背景图像?

Posted

技术标签:

【中文标题】在kivy中单击时如何更改按钮的背景图像?【英文标题】:How to change background image of button when clicked in kivy? 【发布时间】:2021-09-18 01:30:03 【问题描述】:

我有两张图片作为按钮的背景,其中一张是按钮的默认图片,我想在点击按钮时更改按钮的背景图片。 这是我的代码:

class Control_(Screen):
    Status = 0
    print(Status)
    def StatusButton(self):
        if self.Status == 0:
            self.Status = 1
            print(self.Status)
        elif self.Status == 1:
            self.Status = 0   
            print(self.Status) 

和 *.kv 是:

<Control_>:
    Button:
        background_normal: "on.png"
        size_hint: .3, .2
        pos_hint: "x":.3, "y":.3 
        on_release:root.StatusButton()
            

这是我的图片:

【问题讨论】:

【参考方案1】:
try that



 <Control_>:
        Button:
            background_normal: "on.png"
            size_hint: .3, .2
            pos_hint: "x":.3, "y":.3 
            on_release:self.background_normal="on.png" if background_normal=="off.png" else "off.png"

【讨论】:

谢谢,但我有一个错误:SyntaxError:无法分配给条件表达式 抱歉,但是现在:AttributeError: 'Button' object has no attribute 'Status' ??‍♂️ 可以去掉python代码,保留kv代码

以上是关于在kivy中单击时如何更改按钮的背景图像?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 Kivy 中按钮的背景颜色?

Kivy 按钮背景图像大小

更改背景画布 kivy

在WPF中单击时更改圆形按钮背景图像

在 Kivy 中将图像对象作为按钮背景传递

如何使用两个按钮更改活动背景? [复制]