如何将designer 设置好的radiobutton,在python中获取radiobutton文本并进行判断
时间: 2024-06-12 15:04:41 浏览: 147
可以使用QButtonGroup来获取选中的radiobutton,并使用text()方法获取radiobutton的文本。以下是一个示例代码:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QRadioButton, QVBoxLayout, QButtonGroup, QPushButton
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.radiobutton_1 = QRadioButton('Option 1')
self.radiobutton_2 = QRadioButton('Option 2')
self.radiobutton_3 = QRadioButton('Option 3')
layout = QVBoxLayout()
layout.addWidget(self.radiobutton_1)
layout.addWidget(self.radiobutton_2)
layout.addWidget(self.radiobutton_3)
button_group = QButtonGroup()
button_group.addButton(self.radiobutton_1)
button_group.addButton(self.radiobutton_2)
button_group.addButton(self.radiobutton_3)
button = QPushButton('Check')
button.clicked.connect(self.check_selection)
layout.addWidget(button)
self.setLayout(layout)
def check_selection(self):
selected_button = self.sender().parent().findChild(QButtonGroup, 'button_group').checkedButton()
if selected_button:
print(selected_button.text())
else:
print('No selection')
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
在这个示例中,我们使用QButtonGroup来创建一个单选按钮组,并将所有的radiobutton添加到它里面。然后,我们在按钮的clicked信号中使用findChild方法来查找选中的radiobutton,并使用text()方法获取它的文本。如果没有选中任何radiobutton,则输出“No selection”。
阅读全文