【发布时间】:2017-07-18 23:53:46
【问题描述】:
我正在尝试创建一个自定义按钮,该按钮在按下时会改变颜色(实际上是改变图像上的色调),我什至无法让 on_press 正常工作。应用程序运行,但按下按钮会出现错误:“属性错误:'ImageButton' 对象没有属性'change_color'”
python 文件:
import kivy
kivy.require("1.10.0")
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.image import Image
from kivy.lang.builder import Builder
class Container(BoxLayout):
pass
class ImageButton():
def change_color(self):
print("Success!")
class TestName(App):
def build(self):
return tester
tester = Builder.load_file("test.kv")
if __name__ == '__main__':
TestName().run()
Kivy 文件:
Container:
<Container>:
BoxLayout:
ImageButton:
source: "emptybox.png"
<ImageButton@Button>:
source: None
on_press: root.change_color()
Image:
source: root.source
pos: root.pos
size: root.size
【问题讨论】:
-
你想改变
ImageButton的背景颜色还是文字颜色? -
我将在按钮按下时在按钮上创建一个透明画布,使其看起来更暗。
-
我刚刚创建了一个答案,在这种情况下,我使用透明图像更改了背景。但是,如果您有问题,请发表评论,我会编辑答案。
标签: python python-3.x kivy kivy-language