qt emit 去掉会怎么样
比如emitbuttondown(true);去掉emit变成buttondown(true);直接调用,也能运行起来,,那emit存在的意义是什么?...
比如 emit buttondown(true);去掉emit 变成 buttondown(true);直接调用,也能运行起来,,那emit存在的意义是什么?
展开
1个回答
展开全部
直接看它的定义:
#define emit
也就是说emit 仅仅是个宏定义符号,编译器宏替换后就是个“空白”,根本就不会编译它。
代码里完全可以去掉这个符号,反之你也可以在任何代码前加上这个符号,如这行代码 emit reurn; 编译的时候不会有任何错误。
所以下面的发射信号语句,从c++语法上讲就是调用xxx(...)函数
emit xxx( ... );
上面代码和只写: xxx(...); 编译结果是一样的。
为什么要定义这个符号呢? 我猜想是为了让编程者知道这个定义要发射信号了。
转自论坛
#define emit
也就是说emit 仅仅是个宏定义符号,编译器宏替换后就是个“空白”,根本就不会编译它。
代码里完全可以去掉这个符号,反之你也可以在任何代码前加上这个符号,如这行代码 emit reurn; 编译的时候不会有任何错误。
所以下面的发射信号语句,从c++语法上讲就是调用xxx(...)函数
emit xxx( ... );
上面代码和只写: xxx(...); 编译结果是一样的。
为什么要定义这个符号呢? 我猜想是为了让编程者知道这个定义要发射信号了。
转自论坛
追问
还有一种可能是QT的预编译器moc可能需要
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询