2013-09-27 46 views
8

我的詞典列表:如何在pyqt中按名稱查找對象?

globalParams = [{'attr':'enabled','ctrl':'checkBoxEnabled','type':'checkBox'}, 
       {'attr':'colorMode','ctrl':'comboBoxColorMode','type':'comboBox'}] 

'CTRL' - 在Qt的窗口控件的名稱。

典型地,該代碼如下:

self.checkBoxEnabled.checkState() 

但checkBoxEnabled是一個對象。我只有一個字符串名稱'checkBoxEnabled',並且不能使用它...

如何在pyqt中按名稱查找對象?就像是? 自我。 GetObjectByName( 'checkBoxEnabled') .checkState()

回答

14

可以使用QObject::findChild方法。在PyQt的,應該這樣寫:

checkbox = self.findChild(QtGui.QCheckBox, "checkBoxEnabled") 

self應的複選框的父控件。