按钮激活时改变按钮的颜色
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了按钮激活时改变按钮的颜色相关的知识,希望对你有一定的参考价值。
当按钮处于活动状态时,更改按钮颜色的最佳方法是什么。例如 ;按钮被动:其颜色为灰色按钮激活:其颜色为绿色
答案
setStyleSheet("QPushButton { background-color: gray; }
"
"QPushButton:enabled { background-color: green; }
");
您可以在单个按钮上应用此方法,但我建议将其应用于QAppliaction
,这样它将对所有QPushButton
s产生影响
https://qt-project.org/doc/qt-5/stylesheet-reference.html
另一答案
Marek's answer很优雅。如果您需要更改更多属性而不仅仅是颜色,请从PushButton中继承子类并为pressed
提供所需的插槽。这是Python中的一个示例(使用PySide),它在按钮上显示两个不同的文本,具体取决于它是否处于活动状态:
class TogglePushButtonWidget(QPushButton):
"""Toggles between on and off text
Changes color when in on state"""
def __init__(self, parent, on, off):
super().__init__(parent)
self.on = on
self.off = off
self.state = True
self.rotate_state()
self.pressed.connect(self.toggle_state)
def toggle_state(self):
self.state = not self.state
if self.state:
self.setText(self.on)
self.connect_w.setStyleSheet('background: #bbffbb;')
else:
self.setText(self.off)
self.connect_w.setStyleSheet('')
以上是关于按钮激活时改变按钮的颜色的主要内容,如果未能解决你的问题,请参考以下文章