I am exploring Qt source code and came across this Q_D macro. Could some one please explain what it does?
Almost all the time it should return a widget of the type given as a parameter which is the d variable. Need more clarification on this.
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
In short, Qt uses private implementation to manage data. For classes that do this, there usually is an X class and an XPrivate class. The Q_D macro defines the “d” pointer so if you write d->whatever, you have access to that private data part.
This article should pretty much cover most of your questions:
https://wiki.qt.io/D-Pointer