Можно ли увидеть определение макросов Q_SIGNALS, Q_SLOT, SLOT (), SIGNAL ()? (Qt) - PullRequest
5 голосов
/ 29 ноября 2009

Можно ли увидеть определение макросов Q_SIGNALS, Q_SLOT, SLOT (), SIGNAL () в каркасе Qt?

P.S. Google ничего не дал мне в этом вопросе.

Ответы [ 2 ]

12 голосов
/ 29 ноября 2009

Форма qobjectdefs.h, для неотладочной компиляции:

#define Q_SLOTS
#define Q_SIGNALS   protected
#define SLOT(a)     "1"#a
#define SIGNAL(a)   "2"#a

Объявления Q_SLOTS и Q_SIGNALS обрабатываются только специально при запуске moc, в окончательной компиляции они сводятся к простым объявлениям методов. SIGNAL() и SLOT() создают имена из предоставленных подписей.

3 голосов
/ 29 ноября 2009

С visual studio - щелкните правой кнопкой мыши по интересующему вас идентификатору и выберите «Перейти к определению» или нажмите F12.
Если у вас есть Visual Assist, это также можно сделать с помощью Alt + G, когда механизм VS работает не так хорошо.

...