PyQt5 – 复选框中未被选中的指标的背景颜色

  • Post category:Python

PyQt5是Python中流行的GUI开发框架,它提供了许多UI组件,包括复选框。要更改复选框中未被选中的指标的背景颜色,可以使用QWidget.setStyle()方法。下面是一个完整的使用攻略:

导入必要的库

首先需要导入必要的Qt和PyQt5库:

from PyQt5.QtWidgets import QWidget, QCheckBox, QVBoxLayout, QApplication
from PyQt5.QtGui import QPalette, QColor
from PyQt5.QtCore import Qt
import sys

创建窗口和布局

接下来需要创建一个QWidget窗口,并使用QVBoxLayout布局管理器将复选框添加到窗口中:

app = QApplication(sys.argv)
window = QWidget()
layout = QVBoxLayout()
window.setLayout(layout)

创建复选框并设置背景颜色

现在将创建一个QCheckBox复选框实例,并设置StyleSheet以更改它未被选中的指标的背景颜色。在这个示例中,将使用紫色作为未被选中项目的背景颜色:

checkbox = QCheckBox('Example Checkbox')
checkbox.setStyleSheet('background-color: purple')
layout.addWidget(checkbox)

显示窗口

最后,只需要显示窗口就可以了:

window.show()
sys.exit(app.exec_())

这样就可以创建并显示带有自定义背景颜色的复选框了。

下面是另一个示例,这次使用连续两个复选框:

checkbox1 = QCheckBox('Example Checkbox 1')
checkbox2 = QCheckBox('Example Checkbox 2')

# 未被选中的指标的背景颜色:深灰色
unchecked_color = QColor(80, 80, 80)
palette = QPalette()
palette.setColor(QPalette.WindowText, Qt.black)
palette.setColor(QPalette.Button, unchecked_color)
palette.setColor(QPalette.ButtonText, Qt.black)
palette.setColor(QPalette.Text, Qt.black)
checkbox1.setPalette(palette)
checkbox2.setPalette(palette)

layout.addWidget(checkbox1)
layout.addWidget(checkbox2)

在这个示例中,使用QPalette设置了复选框未被选中的指标的背景颜色为深灰色。除了窗口文本之外,所有其他颜色都被设置为黑色。