2016-05-18 33 views
2

我有一個PyQt的 - 名單QWidgets/Windows的

class Main(QtGui.QMainWindow): 

即能點擊>這是Windows的產卵斧數量:

class dataWindow(QtGui.QWidget) 

是否有PyQt的辦法現在發現所有衍生dataWindow的並得到他們的objectName?每個窗口都有唯一的objectName。 我試圖通過準備:

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

但它只返回無。我認爲它是因爲dataWindow不是父窗口類的父對象,所以我要麼必須父母 - 不知道如何。或者以某種方式在「狂野」中找到它們......

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

Edit_1:我的代碼中的一個小故障糾正了我目前的嘗試。重新看後,我設法讓它工作。我只是將窗口存儲在臨時字典中,然後用它來檢索對窗口的訪問。

回答

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) 
+0

嗨案例排序,但可悲的是,而不是你有什麼建議我有第二課... ...初學者的錯誤。 – Dariusz