2012-01-03 30 views
2
でゲッターとプロパティ

私はPyQt4で書かれたカスタムウィジェットを持って命名します。はPyQtは

Qtコーディング標準に従ってゲッターmodel()と命名しました。しかしプロパティはmodelとも呼ばれ、ゲッタをシャドーイングします。

Qt Designerにはmodelプロパティが表示されますが、Qtでゲッターを呼び出すことはできなくなります.Widget.model()はエラーを発生させます。私はC++がこれをどのように扱い、C++のゲッターとQtのプロパティーが同じ名前を持つのか分かりません。

ゲッターの名前をgetModel()に変更する必要がありますか?次に、他の「組み込み」ゲッタと一線を画しません。

答えて

1

名前を変更してください。 model = QtCore.pyqtProperty(str, model, setModel)を実行すると、ゲッターをクラスの辞書のプロパティで置き換えることができます。そのため、直接アクセスできなくなります。