能否查看Q_SIGNALS、Q_SLOT、SLOT()、SIGNAL()宏的定义?(Qt)

7
在Qt框架中,是否有可能查看Q_SIGNALS、Q_SLOT、SLOT() 和 SIGNAL() 宏的定义?
附言:在这个问题上,谷歌没有给我任何答案。

1
你已经有了Qt头文件,你只需要在其中搜索即可。 - rohanpm
2个回答

14

qobjectdefs.h表单中,为非调试编译:

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

Q_SLOTSQ_SIGNALS声明仅在moc运行时特殊处理,在最终编译中,它们会简化为普通的方法声明。 SIGNAL()SLOT()从提供的签名创建名称。


1
此外,您可以查看 moc 的输出文件(位于构建目录中),以了解它对宏的处理结果。 - Adam W

3

使用Visual Studio - 右键点击您感兴趣的标识符,然后选择“转到定义”或按F12键。
如果您有Visual Assist,则在VS机制不起作用时,也可以使用Alt+G来执行此操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接