2013-09-27 16 views
8

mam listy słowników:Jak znaleźć obiekt po imieniu w pyqt?

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

'ctrl' - Nazwa kontrolki w oknie Qt.

typowo kod jest w następujący sposób:

self.checkBoxEnabled.checkState() 

ale checkBoxEnabled jest obiektem. i mam tylko nazwę napisu "checkBoxEnabled" i nie mogę jej użyć ...

jak znaleźć obiekt po imieniu w pyqt? coś jak? self. GetObjectByName ('checkBoxEnabled') .checkState()

Odpowiedz

14

Można użyć QObject::findChild metody. W PyQt powinno być napisane tak:

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

self powinny być widget dominującą wyboru.