📌  相关文章
📜  PyQt5 – 将鼠标悬停在中间复选框上时指示器的背景图像(1)

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

PyQt5 – 将鼠标悬停在中间复选框上时指示器的背景图像

在PyQt5中,可以使用样式表来自定义复选框(QCheckBox)。这允许您添加自定义背景图像、光标等。

在这个例子中,我们将向中间的复选框添加一个指示器背景图像。

代码示例
from PyQt5.QtWidgets import QApplication, QCheckBox, QMainWindow
from PyQt5.QtCore import Qt

class MainWindow(QMainWindow):

    def __init__(self):
        super().__init__()

        # 创建复选框
        self.checkbox = QCheckBox(self)
        self.checkbox.setText("中间的复选框")
        self.checkbox.setGeometry(100, 100, 200, 50)

        # 添加样式表
        self.checkbox.setStyleSheet("""
            QCheckBox::indicator:checked {
                image: url("checked.png");
            }
            QCheckBox::indicator:unchecked {
                image: url("unchecked.png");
            }
            QCheckBox::indicator:hover {
                background-image: url("hover.png");
                image: url("unchecked.png");
            }
        """)

if __name__ == '__main__':
    app = QApplication([])
    window = MainWindow()
    window.show()
    app.exec_()
代码解释
  1. 创建QCheckBox对象并为其设置文本和位置。

  2. 使用setStyleSheet()方法向复选框添加样式表。包括3个样式:

    • checked:指示器选中状态的背景图像。

    • unchecked:指示器未选中状态的背景图像。

    • hover:鼠标悬停在复选框上时指示器的背景图像。在此样式中,我们将添加一个额外的background-image属性。

    • 图像路径可以根据需要更改。

  3. 显示窗口并启动应用程序。

总结

使用样式表自定义复选框使其看起来更现代化并配合需要。在这个例子中,我们可以使用CSS类似的语法添加自定义背景图像、光标等。