qradiobutton 取消选中
时间: 2023-08-09 16:07:23 浏览: 227
RadioButton实现选择后可取消选择
要取消选中 QRadioButton,可以使用 `setChecked(False)` 方法。以下是一个示例代码:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QRadioButton, QVBoxLayout, QWidget
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("QRadioButton Example")
# 创建一个垂直布局
layout = QVBoxLayout()
# 创建两个 QRadioButton
self.radio_button1 = QRadioButton("Option 1")
self.radio_button2 = QRadioButton("Option 2")
# 将两个 QRadioButton 添加到布局中
layout.addWidget(self.radio_button1)
layout.addWidget(self.radio_button2)
widget = QWidget()
widget.setLayout(layout)
self.setCentralWidget(widget)
# 绑定信号和槽,当选中状态改变时触发
self.radio_button1.toggled.connect(self.on_radio_button_toggled)
self.radio_button2.toggled.connect(self.on_radio_button_toggled)
def on_radio_button_toggled(self):
# 获取信号发出者
radio_button = self.sender()
# 取消选中其他的 QRadioButton
if radio_button.isChecked():
if radio_button == self.radio_button1:
self.radio_button2.setChecked(False)
elif radio_button == self.radio_button2:
self.radio_button1.setChecked(False)
if __name__ == "__main__":
app = QApplication([])
window = MyWindow()
window.show()
app.exec_()
```
在上面的示例中,我们创建了两个 QRadioButton,并使用 `setChecked(False)` 方法取消选中一个选项,当选中状态改变时,使用信号和槽机制来取消选中其他的 QRadioButton。
阅读全文