Python 在布局中的小部件内的小部件上循环
类似于我们这里的问题,但有点复杂 我有Python 在布局中的小部件内的小部件上循环,python,pyqt,qgroupbox,Python,Pyqt,Qgroupbox,类似于我们这里的问题,但有点复杂 我有 QVGridLayout QGroupBox QGridLayout QLineEdit 我想访问QLineEdit,但到目前为止我不知道如何访问QGroupBox的子项 for i in range(self.GridLayout.count()): item = self.GridLayout.itemAt(i) for i in range(item
QVGridLayout
QGroupBox
QGridLayout
QLineEdit
我想访问QLineEdit,但到目前为止我不知道如何访问QGroupBox的子项
for i in range(self.GridLayout.count()):
item = self.GridLayout.itemAt(i)
for i in range(item.count()):
lay = item.itemAt(i)
edit = lay.findChildren(QLineEdit)
print edit.text()
有人能给我指一下右边的方向吗?排序:
for i in range(self.GridLayout.count()):
item = self.GridLayout.itemAt(i)
if type(item.widget()) == QGroupBox:
child = item.widget().children()
我必须使用item.widget()来访问GroupBox。
希望这能有所帮助 将小部件添加到布局时,它会自动成为其所设置布局的小部件的子部件。因此,该示例简化为两层:
for group in self.GridLayout.parentWidget().findChildren(QGroupBox):
for edit in group.findChildren(QLineEdit):
# do stuff with edit
但是,findChildren
是递归的,因此如果所有行编辑都在组框中,则可以简化为一行:
for edit in self.GridLayout.parentWidget().findChildren(QLineEdit):
# do stuff with edit