QT QButtonGroup
时间: 2024-03-28 10:37:47 浏览: 151
QButtonGroup是QT中一个方便的类,用于管理一组互斥的按钮(例如,单选按钮)。通过将多个按钮添加到QButtonGroup中,您可以实现只有一个按钮可以被选中的效果。当一个按钮被选中时,其他按钮将自动取消选择。
QButtonGroup提供了多个便利的方法,例如`addButton()`用于添加按钮,`checkedButton()`用于获取当前选中的按钮,`buttonClicked()`用于处理按钮点击事件等。
以下是一个简单的示例,演示如何使用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()
# 创建一个QButtonGroup
self.group = QButtonGroup()
# 创建多个QRadioButton,并将它们添加到QButtonGroup中
rb1 = QRadioButton('Option 1')
rb2 = QRadioButton('Option 2')
rb3 = QRadioButton('Option 3')
self.group.addButton(rb1)
self.group.addButton(rb2)
self.group.addButton(rb3)
# 将QRadioButton添加到垂直布局中
vbox.addWidget(rb1)
vbox.addWidget(rb2)
vbox.addWidget(rb3)
# 为QButtonGroup绑定按钮点击事件
self.group.buttonClicked.connect(self.on_button_clicked)
self.setLayout(vbox)
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('QButtonGroup Example')
self.show()
def on_button_clicked(self, button):
# 处理按钮点击事件
print('Button %s clicked' % button.text())
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
运行程序后,您可以看到三个单选按钮。当您单击其中一个时,`on_button_clicked()`方法将被调用,并显示选中的按钮文本。
阅读全文