📌  相关文章
📜  PyQt5 - 单选按钮的管状指示器(1)

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

PyQt5 - 单选按钮的管状指示器

这个教程将向程序员展示如何在PyQt5中创建具有管状指示器的单选按钮。管状指示器在用户选择一个选项时显示选中状态。

1. 创建单选按钮

要创建单选按钮,我们可以使用QRadioButton类。下面的代码片段演示了如何创建两个单选按钮rb1rb2

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

app = QApplication([])
window = QWidget()

rb1 = QRadioButton("Option 1")
rb2 = QRadioButton("Option 2")

layout = QVBoxLayout()
layout.addWidget(rb1)
layout.addWidget(rb2)
window.setLayout(layout)

window.show()
app.exec_()
2. 设定管状指示器样式

为了让单选按钮的管状指示器显示出来,我们需要为其设置样式表。样式表可以控制单选按钮的外观。

rb1.setStyleSheet("QRadioButton::indicator { width: 20px; height: 20px; }")
rb2.setStyleSheet("QRadioButton::indicator { width: 20px; height: 20px; }")

在上面的代码中,我们为rb1rb2分别设置了样式表,它们的管状指示器将被设定为20像素的宽度和高度。

3. 设定管状指示器的选中状态样式

我们可以使用样式表的不同属性来设定单选按钮在选中状态下的外观。

rb1.setStyleSheet("QRadioButton::indicator { width: 20px; height: 20px; }"
                  "QRadioButton::indicator:checked { background-color: blue; }")
rb2.setStyleSheet("QRadioButton::indicator { width: 20px; height: 20px; }"
                  "QRadioButton::indicator:checked { background-color: blue; }")

在上面的代码中,我们为rb1rb2的选中状态设置了背景颜色为蓝色。当用户选择其中一个选项时,该选项的管状指示器将显示为蓝色。

4. 完整示例代码

下面是使用PyQt5创建带有管状指示器的单选按钮的完整示例代码:

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

app = QApplication([])
window = QWidget()

rb1 = QRadioButton("Option 1")
rb2 = QRadioButton("Option 2")

rb1.setStyleSheet("QRadioButton::indicator { width: 20px; height: 20px; }"
                  "QRadioButton::indicator:checked { background-color: blue; }")

rb2.setStyleSheet("QRadioButton::indicator { width: 20px; height: 20px; }"
                  "QRadioButton::indicator:checked { background-color: blue; }")

layout = QVBoxLayout()
layout.addWidget(rb1)
layout.addWidget(rb2)
window.setLayout(layout)

window.show()
app.exec_()

这个示例演示了如何创建带有管状指示器的单选按钮,并通过样式表来控制选中状态下的外观。程序员可以根据自己的需求来自定义单选按钮的样式。