gpt4 book ai didi

python - 在 PyQt 中命名 getter 和属性

转载 作者:太空宇宙 更新时间:2023-11-04 06:25:27 25 4
gpt4 key购买 nike

我有一个用 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,隐藏 getter。

所以 Qt Designer 将看到 model 属性,但我将无法再在 Qt 中调用 getter - widget.model() 将引发错误。我不知道 C++ 如何处理这个问题,也不知道在 C++ 中,getter 和 Qt 属性如何具有相同的名称。

我应该将 getter 重命名为 getModel() 吗?那么它就不会与其他'内置'的getter保持一致......

最佳答案

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

关于python - 在 PyQt 中命名 getter 和属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8711692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com