社区
工具平台和程序库
帖子详情
Qt中emit语句的执行效率的疑问
ChiefTechOfficer
2017-01-29 09:04:26
Qt中的emit SIGNAL;能不能替换为直接调用对应槽函数的语句?如果能,哪一个更快,更易维护?
...全文
670
4
打赏
收藏
Qt中emit语句的执行效率的疑问
Qt中的emit SIGNAL;能不能替换为直接调用对应槽函数的语句?如果能,哪一个更快,更易维护?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
赵4老师
2017-02-06
打赏
举报
回复
无profiler不要谈效率!!尤其在这个云计算、虚拟机、模拟器、CUDA、多核 、多级cache、指令流水线、多种存储介质、……满天飞的时代!
小灸舞
2017-02-03
打赏
举报
回复
虽然信号/反应槽机制有很多优点,使用也很方便,但它也不是没有缺点。最大的缺点在于要稍微牺牲一
点性能。根据Trolltech公司的自测,在CPU为Intel PentiumII 500 Mhz的PC机上,对于一个信号对应一个反
应槽的连接来说,一秒钟可以调用两百万次;对于一个信号对应两个反应槽的连接来说,一秒钟可以调用一百
二十万次。
这个速度是不经过连接而直接进行回调的速度的十分之一
。请注意这里的十分之一速度比是调用速度
的比较,而不是一个完整函数执行时间的比较。事实上一般情况下一个函数的总执行时间大部分是在执行部分,
只有小部分是在调用部分,因些这个速度是可以接受的。这就象面向对象的编程和早些年的结构化编程相比一样:
一个程序渣渣的小后院
2017-01-29
打赏
举报
回复
信号槽机制中的函数不需要顾虑访问权限。直接调用会受类函数访问权限的限制。 信号不用关心谁会接收自己,槽也不用操心是谁发出了信号,不需要人为的去记住哪个函数调用了哪个函数,一个connect就可以。 信号函数很多时候都不需要自己实现函数体,使用Q_OBJECT宏会自动填充用于信号槽的代码,无需设计者自己定义。 有些信号你不能去qt内置的函数中去修改信号函数代码,比如QPushButton的clicked()。
ooolinux
2017-01-29
打赏
举报
回复
我也想知道,关注。
Qt
之e
mit
、signals、slot的使用
参考:https://www.ibm.com/developerworks/cn/linux/guitoolkit/
qt
/signal-slot/index.html 信号和槽机制是
QT
的核心机制,要精通
QT
编程就必须对信号和槽有所了解。信号和槽是一种高级接口,应用于对象之间的通信,它是
QT
的核心特性,也是
QT
区别于其它工具包的重要地方。信号和槽是
QT
自行定义的一种通信机制,...
QT
中
关键字讲解(e
mit
,signal,slot)
Qt
中
的类库有接近一半是从基类QObject上继承下来,信号与反应槽(signals/slot)机制就是用来在QObject类或其子类间通讯的方法。作为一种通用的处理机制,信号与反应槽非常灵活,可以携带任意数量的参数,参数的类型也由用户自定。同时其本身也是类型安全的,任何一个从QObject或其子类继承的用户类都可以使用信号与反应槽。 信号的作用如同Windows系统
中
的消息。在
Qt
中
,...
Qt
之 e
mit
、signals、slot的使用
信号和槽是一种高级接口,应用于对象之间的通信,它是
QT
的核心特性,也是
QT
区别于其它工具包的重要地方。信号和槽是
QT
自行定义的一种通信机制,它独立于标准的 C/C++ 语言。 因此要正确的处理信号和槽,必须借助一个称为 moc(Meta Object Compiler)的
QT
工具,该工具是一个 C++ 预处理程序,它为高层次的事件处理自动生成所需要的附加代码。
Qt
的`e
mit
`发射(信号)、`signals`信号、`slot`槽的使用
简介: 讲解
Qt
的e
mit
发射(信号)、signals信号、slot槽的使用 文章目录本博文的简述or解决问题?重要提示:信号槽元对象工具程序样例**应注意的问题**参考博文:本篇同步博文: 本博文的简述or解决问题? 讲解
Qt
的e
mit
发射(信号)、signals信号、slot槽的使用 ## 开发平台环境: 编程环境: win10 x64 专业版 编程软件: visual stu...
【转】
qt
signal slot e
mit
信号和槽机制是
QT
的核心机制,要精通
QT
编程就必须对信号和槽有所了解。信号和槽是一种高级接口,应用于对象之间的通信,它是
QT
的核心特性,也是
QT
区别于其它工具包的重要地方。信号和槽是
QT
自行定义的一种通信机制,它独立于标准的 C/C++ 语言,因此要正确的处理信号和槽,必须借助一个称为 moc(Meta Object Compiler)的
QT
工具,该工具是一个 C++ 预处...
工具平台和程序库
24,854
社区成员
27,343
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章