PyQt5 – 在中间状态下为被按下的指示器设置背景色 | 复选框

  • Post category:Python

首先,需要明确 PyQt5 是一种用于创建 GUI 应用程序的 Python 模块,其中包括很多种元素,如文本框、按键、复选框等。其中,复选框选中/取消选中状态的改变,会影响组件的背景色。下面简要介绍如何在 PyQt5 中为复选框设置背景色。

设置复选框背景色

在 PyQt5 中,可以通过调用 setStyleSheet 方法来设置复选框的背景色。示例代码如下:

# 导入 PyQt5 模块
from PyQt5.QtWidgets import QApplication, QCheckBox, QWidget

# 创建应用程序
app = QApplication([])
# 创建图形界面
window = QWidget()

# 创建复选框
checkbox = QCheckBox('复选框', window)
# 设置复选框状态为选中
checkbox.setCheckState(2)
# 设置复选框的背景色
checkbox.setStyleSheet('QCheckBox::indicator:checked { background-color: red; }')

# 显示图形界面
window.show()
# 运行应用程序
app.exec_()

运行上述代码,可以发现程序创建了一个红色的复选框,并且默认选中状态。

另外,也可以为复选框在中间状态下设置背景色。示例代码如下:

# 导入 PyQt5 模块
from PyQt5.QtWidgets import QApplication, QCheckBox, QWidget

# 创建应用程序
app = QApplication([])
# 创建图形界面
window = QWidget()

# 创建复选框
checkbox = QCheckBox('复选框', window)
# 设置复选框状态为中间状态
checkbox.setTristate(True)
checkbox.setCheckState(1)
# 设置复选框的背景色
checkbox.setStyleSheet('QCheckBox::indicator:indeterminate { background-color: yellow; }')

# 显示图形界面
window.show()
# 运行应用程序
app.exec_()

运行上述代码,可以发现程序创建了一个黄色的复选框,并且默认状态为中间状态。

综上所述,上述示例代码演示了如何在 PyQt5 中为复选框设置背景色,包括复选框选中状态和中间状态下的情况。通过调用 setStyleSheet 方法,并结合 CSS 选择器的方式来实现。