PyQT - 列表 QWidgets/Windows

PyQT - list QWidgets/Windows

我有一个

class Main(QtGui.QMainWindow):

能够点击>产生 x 数量的 windows 是:

class dataWindow(QtGui.QWidget)

现在 PyQt 中有没有一种方法可以找到所有生成的数据窗口并获取它们的对象名称? 每个 window 都有唯一的对象名称。 我尝试通过 :

a= self.findChild(QWidget, self.newDataWids[0]["window_name"]) - as I have all names stored in dict upon creation

但它只有 returns None。我认为这是因为 dataWindow 不是 Main window class 的父级,我相信......所以我要么必须将它们作为父级 - 不知道如何。或者以某种方式在 "wild"...

中找到它们

任何想法都会很棒。
此致,大流士

Edit_1:我的代码中的一个小故障阻碍了我当前的尝试。重新审视后,我设法让它开始工作。我只是将 window 存储在临时字典中,然后使用它来检索对 window.

的访问

您 parent objects 通过将 parent 传递给它们的构造函数。您必须检查每个小部件的文档以获得正确的参数位置。

widget = QtGui.QWidget(self)
btn = QtGui.QPushButton('Button Text', self)

但实际上,您不必搜索 children 即可获得 child windows。您的主要 window 应该保留它们的句柄。

def __init__(...)
    ...
    self._windows = []

def createSubWindow(self):
    window = WindowClass(self)
    self._windows.append(window)