📌  相关文章
📜  PyQt5 - 更改选中状态的单选按钮颜色(1)

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

PyQt5 - 更改选中状态的单选按钮颜色

在 PyQt5 中,单选按钮是一种常用的窗口控件,用于实现从多个选项中选择一个选项的功能。在默认情况下,选中状态的单选按钮会以不同的颜色显示,但有时我们需要自定义选中状态的颜色以达到更好的视觉效果。

本文将介绍如何使用 PyQt5 中的样式表(stylesheet)来更改选中状态的单选按钮颜色。

实现步骤
1. 创建单选按钮控件

首先,我们需要创建一个单选按钮控件,可以使用 PyQt5.QtWidgets 模块中的 QRadioButton 类来创建。

from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QRadioButton

app = QApplication([])
win = QWidget()
layout = QVBoxLayout()
btn1 = QRadioButton("Option 1")
btn2 = QRadioButton("Option 2")
btn3 = QRadioButton("Option 3")
layout.addWidget(btn1)
layout.addWidget(btn2)
layout.addWidget(btn3)
win.setLayout(layout)
win.show()
app.exec_()

以上代码创建了一个包含三个选项的单选按钮组,如下图所示:

2. 设置样式表

接下来,我们需要使用样式表来改变选中状态的单选按钮颜色。样式表是一种高级的 CSS 参数,用于控制 Qt 窗口控件的外观和布局。

要设置单选按钮控件的样式表,可以使用 setStyleSheet() 方法来实现。下面是样式表的基本语法:

widget.setStyleSheet("property: value;")

其中,widget 是目标窗口控件的名称,property 是要修改的 CSS 属性名称,value 是要设置的属性值。

下面代码展示了如何使用样式表设置单选按钮控件的选中状态颜色。

from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QRadioButton

app = QApplication([])
win = QWidget()
layout = QVBoxLayout()
btn1 = QRadioButton("Option 1")
btn2 = QRadioButton("Option 2")
btn3 = QRadioButton("Option 3")
btn1.setStyleSheet("QRadioButton::indicator:checked { background-color: red; }")
btn2.setStyleSheet("QRadioButton::indicator:checked { background-color: blue; }")
btn3.setStyleSheet("QRadioButton::indicator:checked { background-color: green; }")
layout.addWidget(btn1)
layout.addWidget(btn2)
layout.addWidget(btn3)
win.setLayout(layout)
win.show()
app.exec_()

以上代码将选中状态的单选按钮的背景颜色分别设置为红色、蓝色和绿色,如下图所示:

由此可见,使用样式表可以方便地改变选中状态的单选按钮颜色,从而实现更好的视觉效果。

结论

本文介绍了如何使用 PyQt5 中的样式表来更改选中状态的单选按钮颜色。通过设置单选按钮控件的样式表,可以方便地实现更好的视觉效果。在实际开发中,我们可以根据需要改变单选按钮的背景色、前景色等属性,从而满足不同的设计需求。