📌  相关文章
📜  PyQt5 – 按下时为按下的指示器设置背景颜色(1)

📅  最后修改于: 2023-12-03 15:04:00.439000             🧑  作者: Mango

PyQt5 – 为按下的指示器设置背景颜色

在 PyQt5 的界面设计中,可以使用 QCheckBox, QRadioButton 和 QAbstractButton 这些组件来创建一个勾选框、单选按钮或者一个通用的按钮。无论使用哪种按钮,都可以通过样式表来为按下时的指示器设置背景颜色。

设置按下时的指示器背景颜色

要为按下时的指示器设置背景颜色,需要做以下操作:

  1. 在样式表中使用 QCheckBox、QRadioButton 或 QAbstractButton 的选择符
  2. 指定其当状态为 checked 时的指示器背景颜色

例如,在 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 的指示器背景颜色在按下时变为了绿色。