📌  相关文章
📜  PyQt5 - 未选中状态下按下复选框的背景颜色(1)

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

PyQt5 - 未选中状态下按下复选框的背景颜色

在PyQt5中,我们可以通过StyleSheet(样式表)来设置复选框的背景颜色。当我们按下复选框时,它会改变到一个不同的颜色。

但是,当复选框未选中时按下它,它的背景颜色不会改变,而是保持原来的样子。我们可以通过样式表来更改它在未选中状态下按下时的背景颜色,让它更加易于跟踪用户的点击。

下面是一个示例程序:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QCheckBox

class Example(QWidget):
    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('Checkbox')
        self.show()
        cb = QCheckBox('Show title', self)
        cb.move(20, 20)
        cb.resize(130, 30)
        cb.setStyleSheet("QCheckBox::indicator:unchecked:hover {background-color: red; }"
                         "QCheckBox::indicator:checked:hover {background-color: green; }")

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

在上述示例程序中,我们通过StyleSheet(样式表)来设置复选框的背景颜色。未选中的复选框在鼠标悬停时显示为红色,选中的复选框在鼠标悬停时显示为绿色。

代码片段:

cb.setStyleSheet("QCheckBox::indicator:unchecked:hover {background-color: red; }"
                         "QCheckBox::indicator:checked:hover {background-color: green; }")

以上是未选中状态下按下复选框的背景颜色的介绍和示例程序。通过样式表,我们可以更改复选框在不同状态下的背景颜色,以提高用户的交互体验。