Max*_*xKu 10 qt pyqt objectname
我有一个词典列表:
globalParams = [{'attr':'enabled','ctrl':'checkBoxEnabled','type':'checkBox'},
{'attr':'colorMode','ctrl':'comboBoxColorMode','type':'comboBox'}]
Run Code Online (Sandbox Code Playgroud)
'ctrl' - Qt窗口中控件的名称.
通常,代码如下:
self.checkBoxEnabled.checkState()
Run Code Online (Sandbox Code Playgroud)
但checkBoxEnabled是一个对象.我只有一个字符串名称'checkBoxEnabled',不能使用它...
如何在pyqt中按名称查找对象?就像是?自.GetObjectByName('checkBoxEnabled'). checkState()
Pav*_*hov 19
你可以使用QObject::findChild
方法.在pyqt中它应该写成这样:
checkbox = self.findChild(QtGui.QCheckBox, "checkBoxEnabled")
Run Code Online (Sandbox Code Playgroud)
self
应该是复选框的父窗口小部件.