pyqt5 遍历当前页面radioButton并清除选中状态
时间: 2023-05-15 11:06:41 浏览: 469
可以使用以下代码遍历当前页面的所有radioButton并清除选中状态:
```python
import PyQt5.QtWidgets as qtw
# 获取当前页面的所有控件
widgets = qtw.QApplication.topLevelWidgets()
for widget in widgets:
if isinstance(widget, qtw.QDialog):
# 遍历所有radioButton并清除选中状态
for radio in widget.findChildren(qtw.QRadioButton):
radio.setChecked(False)
```
希望这个代码能够帮到你!
相关问题
pyqt5 遍历当前页面的控件
可以使用findChildren()方法来遍历当前页面的控件,示例代码如下:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLabel
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Example')
self.label1 = QLabel('Label 1', self)
self.label1.move(50, 50)
self.label2 = QLabel('Label 2', self)
self.label2.move(150, 50)
self.button = QPushButton('Button', self)
self.button.move(100, 100)
self.show()
# 遍历当前页面的控件
for widget in self.findChildren(QWidget):
print(widget)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
运行该程序,会输出当前页面的所有控件,包括QLabel和QPushButton。
pyqt5 遍历当前页面的控件并清空控件中的内容
可以使用以下代码遍历当前页面的控件并清空控件中的内容:
```python
import PyQt5.QtWidgets as QtWidgets
def clear_widgets(layout):
for i in reversed(range(layout.count())):
widget = layout.itemAt(i).widget()
if isinstance(widget, QtWidgets.QLineEdit):
widget.clear()
elif isinstance(widget, QtWidgets.QTextEdit):
widget.clear()
elif isinstance(widget, QtWidgets.QComboBox):
widget.setCurrentIndex(-1)
elif isinstance(widget, QtWidgets.QSpinBox):
widget.setValue(0)
elif isinstance(widget, QtWidgets.QDoubleSpinBox):
widget.setValue(0.0)
elif isinstance(widget, QtWidgets.QCheckBox):
widget.setChecked(False)
elif isinstance(widget, QtWidgets.QRadioButton):
widget.setChecked(False)
elif isinstance(widget, QtWidgets.QGroupBox):
clear_widgets(widget.layout())
elif isinstance(widget, QtWidgets.QTabWidget):
for j in range(widget.count()):
clear_widgets(widget.widget(j).layout())
elif isinstance(widget, QtWidgets.QStackedWidget):
for j in range(widget.count()):
clear_widgets(widget.widget(j).layout())
```
然后在需要清空控件的地方调用该函数即可:
```python
clear_widgets(self.layout())
```
其中,self.layout() 是当前页面的布局。
阅读全文