私はGLIBMMを使ってC++で一連のGLIBクラスを再実装しようとしています。 それらのほとんどはバグが多く、プロジェクト全体がC++で行われているため、修正する前にコードを移植することをお勧めしました。gblimm/gtkmmカスタムプロパティ
残念ながら私はGLIBのエキスパートではなく、公式のドキュメントの周りに何日も過ごしていても、私はいくつかの概念を理解する上で問題があります。
私が理解している限り、プロパティはセッターとゲッターの完全な置き換え(そして多分)です。基本的には、各属性に特化したメソッドを使用する代わりに、共通のset/get_propertyメソッドを使用して、名前(またはID)でプロパティにアクセスし、GValueのようなコンテナを使用して複数の種類のデータを保持します。
私が見ることのできる唯一の利点は、文字列に含まれている名前(設定ファイルなどから来る可能性があります)にアクセスする機能ですが、確かに何か不足しています。さらに、これはGLIBでは当てはまりますが、Property_set/get_valueの代わりに特殊なプロパティ_(*)getter/setterを使用する必要があるというGlib :: ObjectBaseではそうではありません。
Glib :: Propertyに関するドキュメントを読む私はC++の完全なプロパティ実装が好きであるかどうかは分かりませんが、GLIBでの経験の欠如がそれをより困難にしていると推測します。私はSTDを取得/設定メソッドを持つ属性としてすべてのプロパティを移動したいのですが、私は以前approchが良い回だったと遅すぎる発見多くの変更を加える必要はありません:)
できます
誰かが私にプロパティが何かを説明します(C++クラス属性と比較した場合)?信号/スロットを備えた実用的なプロパティの例を教えてください。誰かが2つの方法の利点についていくつかの光を置くことができますか?
ありがとうございました!
ありがとう、私はC++でコードの移植を完了しようとしましたが、バインディングの相対バージョンは部分的に不完全で、ちょうど混乱しています! – Gianks