我有一个用PyQt4编写的自定义小部件:
class WRecordIdWidget(QtGui.QLineEdit):
....
def model(self):
return self._model
def setModel(self, model):
self._model = model
model = QtCore.pyqtProperty(str, model, setModel)
我创建了一个名为model
的pyqt属性 - 能够在Qt Designer中编辑它。
我根据Qt编码标准命名了getter model()
。但是属性也被称为model
,遮蔽了吸气剂。
因此Qt Designer将看到model
属性,但我将无法再在Qt中调用getter - widget.model()将引发错误。我不知道C ++如何处理这个问题以及C ++ getter和Qt属性如何具有相同的名称。
我应该将吸气剂重命名为getModel()
吗?然后它将不符合其他内置的'吸气剂...
答案 0 :(得分:1)
重新命名。在执行model = QtCore.pyqtProperty(str, model, setModel)
时,您正在使用类字典中的属性有效地替换getter,因此您将无法直接访问它。