Python 在PyQt中命名getter和属性

Python 在PyQt中命名getter和属性,python,qt,pyqt,pyqt4,Python,Qt,Pyqt,Pyqt4,我有一个用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-的p

我有一个用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设计器中编辑它

根据Qt编码标准,我将getter命名为
model()
。但是属性也被称为
model
,隐藏getter

因此Qt设计器将看到
model
属性,但我将无法再调用Qt中的getter-widget.model()将引发错误。我不知道C++是如何处理这个的,C++中的GETTER和QT属性是如何同名的。
我是否应该将getter重命名为
getModel()
?那么它将不会与其他“内置”getter保持一致…

只需重命名它即可。当执行
model=QtCore.pyqtProperty(str,model,setModel)
时,实际上是在用类的字典中的属性替换getter,因此您就失去了对它的直接访问