设置多组QRadioButton ,每组只能选择一个按钮
时间: 2024-06-09 10:10:25 浏览: 164
你可以将多个QRadioButton放在QButtonGroup中,这样同一组中的QRadioButton只能选择一个。
以下是一个示例代码,演示如何使用QButtonGroup来实现这个功能:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QRadioButton, QVBoxLayout, QButtonGroup
import sys
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
vbox = QVBoxLayout()
group1 = QButtonGroup(self)
group1.setExclusive(True)
rb1 = QRadioButton('Button 1', self)
rb2 = QRadioButton('Button 2', self)
rb3 = QRadioButton('Button 3', self)
group1.addButton(rb1)
group1.addButton(rb2)
group1.addButton(rb3)
group2 = QButtonGroup(self)
group2.setExclusive(True)
rb4 = QRadioButton('Button 4', self)
rb5 = QRadioButton('Button 5', self)
rb6 = QRadioButton('Button 6', self)
group2.addButton(rb4)
group2.addButton(rb5)
group2.addButton(rb6)
vbox.addWidget(rb1)
vbox.addWidget(rb2)
vbox.addWidget(rb3)
vbox.addWidget(rb4)
vbox.addWidget(rb5)
vbox.addWidget(rb6)
self.setLayout(vbox)
self.setGeometry(300, 300, 300, 150)
self.setWindowTitle('QRadioButton Example')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
在这个例子中,我们创建了两个QButtonGroup,每个组中都有三个QRadioButton。我们将每个QRadioButton添加到相应的组中。由于我们在每个组中设置了setExclusive(True),因此每组中只能选择一个QRadioButton。
运行代码,你就能看到两个QRadioButton组,每组中只能选择一个按钮。
阅读全文