要实现 PyQT5 中未选中状态下被按下的复选框的背景颜色,需要使用 StyleSheet 样式表来设置。下面是实现过程:
- 自定义 CSS 样式表,并设置 QCheckBox 的 background-color 属性
checkBox.setStyleSheet('QCheckBox::indicator:checked {background-color: red;} QCheckBox::indicator:unchecked:pressed {background-color: blue;}')
这里我们设置 checked 后的背景色为红色,未选中并且在按下状态时的背景色为蓝色。
- 在页面中显示 QCheckBox
checkBox = QCheckBox('复选框', self)
checkBox.move(100, 50)
checkBox.resize(150, 30)
checkBox.setStyleSheet('QCheckBox::indicator:checked {background-color: red;} QCheckBox::indicator:unchecked:pressed {background-color: blue;}')
checkBox.show()
这里我们创建一个名为 checkBox 的 QCheckBox 对象,并设置其位置、大小和样式表,最后将其添加到页面中并显示出来。
示例1:在 PyQT5 中实现一个带有复选框的窗口,并设置为未选中状态下被按下的复选框的背景颜色为蓝色。
from PyQt5.QtWidgets import QApplication, QWidget, QCheckBox
class MainWindow(QWidget):
def __init__(self):
super().__init__()
checkBox = QCheckBox('复选框', self)
checkBox.move(100, 50)
checkBox.resize(150, 30)
checkBox.setStyleSheet('QCheckBox::indicator:checked {background-color: red;} QCheckBox::indicator:unchecked:pressed {background-color: blue;}')
self.setGeometry(200, 200, 500, 300)
self.setWindowTitle('PyQT5 复选框变色')
self.show()
if __name__ == '__main__':
app = QApplication([])
mainWindow = MainWindow()
app.exec_()
示例2:在 PyQT5 中实现一个带有复选框的对话框,并设置为未选中状态下被按下的复选框的背景颜色为金色。
from PyQt5.QtWidgets import QApplication, QDialog, QCheckBox, QVBoxLayout, QHBoxLayout, QLabel, QPushButton
class Dialog(QDialog):
def __init__(self):
super().__init__()
checkBox = QCheckBox('复选框', self)
checkBox.setStyleSheet('QCheckBox::indicator:checked {background-color: red;} QCheckBox::indicator:unchecked:pressed {background-color: gold;}')
vbox = QVBoxLayout()
vbox.addWidget(checkBox)
hbox = QHBoxLayout()
label = QLabel('示例对话框')
okButton = QPushButton('确定')
closeButton = QPushButton('关闭')
hbox.addWidget(label)
hbox.addStretch()
hbox.addWidget(okButton)
hbox.addWidget(closeButton)
vbox.addLayout(hbox)
self.setLayout(vbox)
self.setWindowTitle('PyQT5 对话框变色')
self.show()
if __name__ == '__main__':
app = QApplication([])
dialog = Dialog()
app.exec_()
以上就是 PyQT5 中实现“未选中状态下被按下的复选框的背景颜色”的详细使用攻略。