如何更改 Kivy 中按钮的背景颜色?
How do I change the background color of a button in Kivy?
我正在尝试构建一个简单的应用程序,每次单击我在 kivy 中构建的按钮时都会播放音乐。我想添加图形和样式,因为默认颜色只是纯灰色。我该如何将该颜色更改为红色?我已经尝试实施 background_color 参数,但这并没有改变任何东西。我在下面附上了我的代码:
<Test>:
do_default_tab: False
Widget:
canvas.before:
Rectangle:
size: self.size
pos: self.pos
TabbedPanelItem:
text: 'Opera'
text_size: self.size
BoxLayout:
orientation: 'vertical'
padding: 20
spacing: 10
Button:
text: 'Nessun Dorma'
text_size: self.size
on_press: root.nessun_dorma()
halign: 'center'
valign: 'middle'
font_size: 20
一种方法是使用图像。在外部创建图像并根据状态加载一个或另一个:
ToggleButton:
id: 'enableBtn'
text: 'Enable'
state: 'normal'
background_normal: 'enable.png'
background_down: 'disable.png'
on_release: root.on_disable()
我还发现这个 post 非常 helpful 因为它还解释了如何更改按钮的形状
您可以使用状态和 background_color 来实现想要的行为
<FunkyButton>:
background_color: (1,0,0,1) if self.state == 'normal' else (0,1,0,1)
background_normal: ""
#background_down: "" #optional if you want your color pressed
颜色不变...
这样按钮在未按下时为红色,按下时为绿色...
我正在尝试构建一个简单的应用程序,每次单击我在 kivy 中构建的按钮时都会播放音乐。我想添加图形和样式,因为默认颜色只是纯灰色。我该如何将该颜色更改为红色?我已经尝试实施 background_color 参数,但这并没有改变任何东西。我在下面附上了我的代码:
<Test>:
do_default_tab: False
Widget:
canvas.before:
Rectangle:
size: self.size
pos: self.pos
TabbedPanelItem:
text: 'Opera'
text_size: self.size
BoxLayout:
orientation: 'vertical'
padding: 20
spacing: 10
Button:
text: 'Nessun Dorma'
text_size: self.size
on_press: root.nessun_dorma()
halign: 'center'
valign: 'middle'
font_size: 20
一种方法是使用图像。在外部创建图像并根据状态加载一个或另一个:
ToggleButton:
id: 'enableBtn'
text: 'Enable'
state: 'normal'
background_normal: 'enable.png'
background_down: 'disable.png'
on_release: root.on_disable()
我还发现这个 post 非常 helpful 因为它还解释了如何更改按钮的形状
您可以使用状态和 background_color 来实现想要的行为
<FunkyButton>:
background_color: (1,0,0,1) if self.state == 'normal' else (0,1,0,1)
background_normal: ""
#background_down: "" #optional if you want your color pressed
颜色不变...
这样按钮在未按下时为红色,按下时为绿色...