萨那

注册

 

发新话题 回复该主题

文字版Qt信号槽源码剖析三 [复制链接]

1#
北京痤疮主治医院 http://baidianfeng.39.net/a_bdfys/210313/8743253.html

大家好,我是IT文艺男,来自一线大厂的一线程序员

上节视频给大家讲解了Qt信号槽的Qt宏展开推导;今天接着深入分析,进入Qt信号槽源码剖析系列的第三节视频。

Qt信号槽宏推导归纳

#definesignalspublic

#defineslots

#defineQ_OBJECT\public:\staticconstQMetaObjectstaticMetaObject;\virtualconstQMetaObject*metaObject()const;\virtualvoid*qt_metacast(constchar*);\virtualintqt_metacall(QMetaObject::Call,int,void**);\QT_TR_FUNCTIONS\private:\Q_DECL_HIDDEN_STATIC_METACALLstaticvoidqt_static_metacall(QObject*,QMetaObject::Call,int,void**);

#defineemit

#defineSIGNAL(a)"2"#a

#defineSLOT(a)"1"#a如何查看预处理之后的代码

在VisualStudio中按如下操作查看预处理之后的代码::

右键工程菜单,弹出属性页对话框

依次单击----

设置选项值为“是”

工程编译

预处理之后代码与初始代码对比

Counter类声明对比

Counter类定义对比

main函数对比

因此,上述分析一目了然,理论推导与实践结果是高度一致的;

今天就讲解到这里,更详细的原理分析与讲解,请

分享 转发
TOP
发新话题 回复该主题