Kivy 按钮组件 on_press 颜色在 Kivy 2.0.0 中不起作用。
我检查了这个 Question 并遵循了答案,但是,这些答案并没有解决我面临的问题。
我的 UI kv 文件按钮组件代码
Button:
text: Settings
background_color: (.3, 2.15, .96, 1)
on_press: self.background_color = (1.0, 0.0, 0.0, 1.0)
on_press: root.on_settings_click()
on_press: self.background_color = (.3, 2.15, .96, 1)
按钮响应的 Python 代码
class SettingsMenu(Panel):
def on_general_settings_click(self):
self._parent.show_new_panel(GeneralSettings(self._parent))
编辑:
我使用 on_release 也没有对 UI 按钮组件进行任何更改。还有什么我在这里遗漏的吗?
on_press: self.background_color = (1.0, 0.0, 0.0, 1.0)
on_press: root.on_general_settings_click()
on_release: self.background_color = (.3, 2.15, .96, 1)
答案 0 :(得分:1)
使用 background_color
更改 on_press
在 Kivy 2.0.0 中有效。但如果更改发生得太快,它可能不会显示在您的 GUI 中。在 background_color
事件响应中更改 on_press
两次可能只会显示其最后一次设置,因此还可以考虑使用 on_release
。要记住的另一件事是 background_color
只是 background_normal
和 background_down
图像的乘数。如果您希望 normal
或 down
状态为纯色,则必须将 background_normal
和/或 background_down
设置为 ''
。以下是使用这些原则的示例:
Button:
text: 'Settings'
background_normal: ''
background_down: ''
background_color: (1, 0, 0, 1)
on_press: self.background_color = (0, 1, 0, 1.0)
on_press: root.on_settings_click()
on_release: self.background_color = (0, 0, 1, 1)