关于回调机制和信号槽机制的一点小疑问

xiaofeng-huang 2018-05-08 10:31:05
也做了一段时间QT的开发,相较于其他语言、框架,QT的信号槽机制给我的感觉是方便又神奇,我在程序中也大量地使用了信号槽。但是回过头来想到一个问题,在同一线程的几个类之间,进行回调到底是用传统的接口回调还是用信号槽好呢?相对于接口回调,信号槽的成本是否会更高?接口回调反应速度是否会比信号槽更快?
...全文
1480 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
小刚学長 2018-07-24
  • 打赏
  • 举报
回复
信号槽,可以同步、异步,回调只能同步。
涉及到Qt操作界面相关的,用信号槽

那么回调是否没有优点了?
回调有返回值,信号槽没有吧,据说Qt5有了,但也是在同步下使用的,而且支持不好。

同步应用的话,也不涉及到界面什么的,直接用回调好了,以后代码移植方便点
donwmufromdying 2018-05-08
  • 打赏
  • 举报
回复
signal-slot的底层不还是函数指针那一套吗。你去看看Qt的代码,signal-slot实现就知道了
junki 2018-05-08
  • 打赏
  • 举报
回复
使用接口回调还是用信号槽,没有具体哪个好,要看使用的场景。 接口回调和信号槽二种机制不一样,在QT中建议使用信号槽方式。

16,240

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧