Python 在PyQt中命名getter和属性
我有一个用PyQt4编写的自定义小部件: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
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,因此您就失去了对它的直接访问