设置多组QRadioButton
时间: 2024-06-09 13:10:24 浏览: 130
可以使用QButtonGroup和QVBoxLayout来实现设置多组QRadioButton的功能。
首先,我们需要创建QButtonGroup并将每个QRadioButton添加到该组中。然后,将该组添加到QVBoxLayout中,以便我们可以在垂直方向上排列多个QRadioButton组。
以下是一个示例代码,其中包含两个QRadioButton组:
``` python
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QRadioButton, QButtonGroup
class Example(QWidget):
def __init__(self):
super().__init__()
# 创建两个QRadioButton组
group1 = QButtonGroup(self)
group2 = QButtonGroup(self)
# 添加QRadioButton到组1
rb1 = QRadioButton('选项1', self)
rb2 = QRadioButton('选项2', self)
rb3 = QRadioButton('选项3', self)
group1.addButton(rb1)
group1.addButton(rb2)
group1.addButton(rb3)
# 添加QRadioButton到组2
rb4 = QRadioButton('选项A', self)
rb5 = QRadioButton('选项B', self)
rb6 = QRadioButton('选项C', self)
group2.addButton(rb4)
group2.addButton(rb5)
group2.addButton(rb6)
# 创建垂直布局并添加QRadioButton组
vbox = QVBoxLayout()
vbox.addWidget(rb1)
vbox.addWidget(rb2)
vbox.addWidget(rb3)
vbox.addWidget(rb4)
vbox.addWidget(rb5)
vbox.addWidget(rb6)
# 将布局设置为窗口的主要布局
self.setLayout(vbox)
self.setWindowTitle('多组QRadioButton示例')
self.setGeometry(300, 300, 300, 200)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
运行这段代码将显示一个窗口,其中包含两个QRadioButton组,每个组都包含三个选项。您可以根据需要添加更多组并将它们添加到垂直布局中。
阅读全文