2011-07-27 28 views
34

Qtのソースコードを調べており、このQ_Dマクロを見つけました。ある人がそれが何をしているのか説明してもらえますか?QtのマクロはQtで何をするのですか

ほとんどの場合、変数として与えられた型のウィジェットを返します。これは、dという変数です。これについてもっと明確にする必要があります。

答えて

31

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

この記事はかなりカバーは、あなたの質問のほとんどのはず:

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

10

Q_D D-ポインタのQtの実装の一部、またはPIMPLパターン(プライベート実装)です。 Qt DevNet wikiには、このすべてに関するさらに詳しい情報があります。http://developer.qt.nokia.com/wiki/Dpointer

+2

リンクが無効です。最新のリンク:https://wiki.qt.io/D-Pointer – HeyYO

関連する問題