我在 Python 中创建了一个自定义 Qt 小部件,并设法让它在运行时加载到表单中,但是当我尝试使用 findChild 将它从表单实例中抓取回来时,我None
又回来了。
小部件已加载,如果我打印出表单上的名称和对象,我可以看到它:
DEBUG:root:<PyQt4.QtGui.QCheckBox object at 0x11358030>
DEBUG:root:Near_Other_Infrastructure
DEBUG:root:<PyQt4.QtGui.QCheckBox object at 0x113582B8>
DEBUG:root:photo
DEBUG:root:<imagewidget.QMapImageWidget object at 0x113586A8>
这是代码:
images = self.forminstance.findChild(QMapImageWidget)
更新:
似乎这样做有效:
images = self.forminstance.findChild(QWidget, "photo")
它返回 DEBUG:root:<imagewidget.QMapImageWidget object at 0x113586A8>
虽然我真的更喜欢通过类型获得控件而不使用名称。
有任何想法吗?