PyQT - 列出QWidgets / Windows

时间:2016-05-18 21:32:41

标签: python pyqt pyqt4 qwidget qmainwindow

我有一个

class Main(QtGui.QMainWindow):

可以点击>生成x个窗口:

class dataWindow(QtGui.QWidget)

PyQt中是否有办法找到所有衍生的数据窗口并获取它们的objectName? 每个窗口都有唯一的objectName。 我试过去:

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

但它只返回None。我认为它是因为dataWindow不是主窗口类的父级我相信...所以我要么必须让它们成为父母 - 不知道如何。或者以某种方式在" wild" ...

中找到它们

任何想法都会很棒。
此致,Dariusz

Edit_1:我的代码中的一个小故障超出了我当前的尝试。在重新审视后,我设法让它上班。我只是将窗口存储在临时字典中,然后使用它来检索对窗口的访问。

1 个答案:

答案 0 :(得分:2)

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

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

但实际上,您不应该搜索孩子来获取子窗口。你的主窗口应该保持句柄。

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

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