2010-06-07 31 views
1

任何人都有一個漂亮的函數,將返回一個特定部件的所有子代的嵌套樹?PyQT:得到一個小部件的遞歸子代

我熟悉dumpObjectTree()但我無法在調試模式下編譯,因此我無法訪問該函數。

試圖找到一個特定的小部件,我正在手動遍歷children()層次結構。有一個更好的方法!

回答

3

QObject.findChild(或findChildren)將遞歸搜索一個孩子,並應該做你所需要的。

+0

一定要使用'setObjectName'來正確工作。 – 2010-06-07 20:07:15

+0

我的同事寫了一個相當深的對象樹(一個MainWindow包含派生的QGroupBox-es,其中包含派生的QGraphicsScene-s等)。而不是通過額外的努力命名的東西,然後找到他們的名字(遞歸?),我寧願只是傾倒出整個樹,用它作爲備忘單... – Phlip 2012-12-24 05:02:46

+0

類似於: def dump( ()): dump(self.mainWindow)(0)) dump(self.mainWindow) – Phlip 2012-12-24 05:21:34