pyqt5 多个Qcheckbox组合实现单选,通过点击按钮获取选择中的Qcheckbox的文本信息
时间: 2024-06-11 20:07:31 浏览: 102
可以使用QButtonGroup来实现多个Qcheckbox的单选功能。具体的步骤如下:
1. 创建多个Qcheckbox,并添加到窗口中。
2. 创建一个QButtonGroup,并将多个Qcheckbox添加到该组中。
3. 通过QButtonGroup的setExclusive()方法设置为单选模式。
4. 创建一个按钮,并绑定一个槽函数。
5. 在槽函数中,通过QButtonGroup的checkedButton()方法获取被选中的Qcheckbox,并获取其文本信息。
下面是一个示例代码:
```python
from PyQt5.QtWidgets import QMainWindow, QWidget, QCheckBox, QVBoxLayout, QPushButton, QButtonGroup
from PyQt5.QtCore import Qt
class Example(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建窗口
self.setWindowTitle('QCheckBox')
self.setGeometry(300, 300, 300, 200)
# 创建多个QCheckBox
cb1 = QCheckBox('CheckBox 1', self)
cb2 = QCheckBox('CheckBox 2', self)
cb3 = QCheckBox('CheckBox 3', self)
# 创建一个按钮
btn = QPushButton('Get Checked Text', self)
btn.clicked.connect(self.getCheckedText)
# 创建一个垂直布局,并将多个QCheckBox添加到该布局中
vbox = QVBoxLayout()
vbox.addWidget(cb1)
vbox.addWidget(cb2)
vbox.addWidget(cb3)
vbox.addWidget(btn)
# 创建一个窗口部件,并将垂直布局添加到该部件中
widget = QWidget()
widget.setLayout(vbox)
# 将窗口部件设置为主窗口的中心部件
self.setCentralWidget(widget)
# 创建一个QButtonGroup,并将多个QCheckBox添加到该组中
group = QButtonGroup(self)
group.addButton(cb1)
group.addButton(cb2)
group.addButton(cb3)
# 设置QButtonGroup为单选模式
group.setExclusive(True)
# 显示窗口
self.show()
def getCheckedText(self):
# 获取被选中的QCheckBox,并获取其文本信息
for cb in self.centralWidget().findChildren(QCheckBox):
if cb.isChecked():
print(cb.text())
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
阅读全文