发出和发出()之间的区别

强直性

在Qt中,它们都是有效的,并且行为相同:

emit someSignal(value);

emit(someSignal(value));

有什么区别吗?

lpapp

有什么区别吗?

除了不需要多余的括号外,没有什么区别,因此程序员会更喜欢这一点,并且它在Qt项目中也更常规地使用。

无差异的原因是由于以下原因:

# define emit

您可以在源代码中看到其定义

因此,它基本上只是声明为“空”字符串,预处理器将替换您的变体以:

someSignal(value);

或者

(someSignal(value));

如果要进行快速测试,如果在运行预处理程序后停止执行编译器(例如-E,使用gcc选项),则可以自己查看。

进一步的信息:评论中的某人对send关键字有疑问,因为它污染了全局宏名称空间。的确是这样,但这是确保以某种通用的方式这样做的好方法,这是一件好事。

另一方面,这不是强制性的,因此任何人都可以通过告诉Qt不要使用关键字来重新定义,取消定义甚至关闭它,如下所示:

CONFIG += no_keywords

这样一来,它仍然有可能使用Qt的信号槽机制Q_SIGNALQ_SIGNALSQ_SLOTQ_SLOTSQ_EMIT和所有。

在这里,你可以找到相应的文件有关Q_EMIT,例如:

Q_EMIT

当您要通过第三方信号/插槽机制使用Qt信号和插槽时,请使用此宏替换发出信号的关键词。

通常在.pro文件中使用CONFIG变量指定no_keywords时使用该宏,但是即使未指定no_keywords时也可以使用该宏。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

发出和发出()之间的区别

来自分类Dev

使用react发出和处理全局事件

来自分类Dev

如何发出和处理自定义事件?

来自分类Dev

Python PyQt4发出和接收自定义信号

来自分类Dev

如何使用反射在C#中发出和调用事件?

来自分类Dev

如何通过Charles这样的数据包嗅探器工具发出和拒绝Web请求?

来自分类Dev

怎样通过查尔斯这样的数据包嗅探工具来发出和拒绝Web请求?

来自分类Dev

在Express应用中发出请求的两种方式之间的区别

来自分类Dev

为什么数字和字符变量之间的比较不发出警告?

来自分类Dev

在共享服务和组件之间使用 Observable 发出数据

来自分类Dev

线程之间的PyQt信号未发出

来自分类Dev

无法在 docker 容器之间发出 HTTP 请求

来自分类Dev

不会发出Qt和Android FeatureChanged

来自分类Dev

如何使用RxJS和angular发出更改?

来自分类Dev

之间的区别 和|| 或&和&&

来自分类Dev

选择开始时间和结束时间之间的小时数会发出警报,而不管选择什么

来自分类Dev

在列表项错误之间发出缺少逗号的警告

来自分类Dev

是否可以在两个域之间发出请求?

来自分类Dev

–和-或'和'或“和”之间的区别

来自分类Dev

–和-或'和'或“和”之间的区别

来自分类Dev

/和/ **之间的区别

来自分类Dev

SQL =和IN之间的区别

来自分类Dev

“ or”和“ ||”之间的区别?

来自分类Dev

./和../之间的区别

来自分类Dev

Serilog:{..}和{@ ..}之间的区别

来自分类Dev

//和http://之间的区别

来自分类Dev

!=和!==之间的区别

来自分类Dev

/ **和/ *在春季之间的区别

来自分类Dev

和this @ entry之间的区别?