📅  最后修改于: 2023-12-03 15:04:00.439000             🧑  作者: Mango
在 PyQt5 的界面设计中,可以使用 QCheckBox, QRadioButton 和 QAbstractButton 这些组件来创建一个勾选框、单选按钮或者一个通用的按钮。无论使用哪种按钮,都可以通过样式表来为按下时的指示器设置背景颜色。
要为按下时的指示器设置背景颜色,需要做以下操作:
例如,在 QCheckBox 中设置背景颜色的样式表如下所示:
QCheckBox:checked {
background-color: #4CAF50;
}
这表示当 QCheckBox 处于 checked 状态时,其指示器的背景颜色将设置为 #4CAF50。类似地,也可以对 QRadioButton 和 QAbstractButton 进行相同的设置。
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QHBoxLayout, QCheckBox
from PyQt5.QtCore import Qt
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
hbox = QHBoxLayout()
# 创建一个 QCheckBox 并设置其样式表
cb = QCheckBox('CheckBox', self)
cb.setStyleSheet('QCheckBox:checked {background-color: #4CAF50;}')
# 将 QCheckBox 添加到水平盒布局中
hbox.addWidget(cb)
self.setLayout(hbox)
self.setGeometry(300, 300, 300, 150)
self.setWindowTitle('PyQt5 - Set background color for checked indicator')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
在这个示例代码中,我们创建了一个 QCheckBox 并使用样式表设置了其指示器的背景颜色为 #4CAF50。程序的窗口标题为 "PyQt5 - Set background color for checked indicator"。运行程序,可以看到 QCheckBox 的指示器背景颜色在按下时变为了绿色。