web-dev-qa-db-ja.com

Q_DマクロはQtで何をしますか

私はQtのソースコードを調査していて、これに遭遇しましたQ_D 大きい。誰かがそれが何をするのか説明してもらえますか?

ほとんどの場合、d変数であるパラメーターとして指定されたタイプのウィジェットを返します。これについてさらに説明が必要です。

50
Tharanga

つまり、Qtはプライベート実装を使用してデータを管理します。これを行うクラスには、通常、XクラスとXPrivateクラスがあります。 Q_Dマクロは "d"ポインターを定義しているので、d-> whateverを書き込んだ場合、そのプライベートデータ部分にアクセスできます。

この記事はあなたの質問のほとんどをカバーするはずです:

https://wiki.qt.io/D-Pointer

48
Tim Meyer

Q_DはQtのdポイン​​ターの実装の一部、またはpimplパターン(プライベート実装)です。これについてのもう少し詳しい情報はQt DevNet wikiにあります: https://wiki.qt.io/D-Pointer

16
leinir