社区
Qt
帖子详情
Qt有封装SendMessage的机制吗?特别是在mac下像windows一样
szuzsq
2019-11-25 09:06:28
信号还是有它的局限性。
就是绑定的时候,需要知道sender和receiver,其实和回调函数差不多了。
我想要发送者和接收者解耦。
即:发送者和接受者彼此不知道对方是谁。
发送者不知道一个消息是谁接收的;接收者也不知道一个消息是谁发送的。
对了,消息里面要允许绑定一些数据。
...全文
309
3
打赏
收藏
Qt有封装SendMessage的机制吗?特别是在mac下像windows一样
信号还是有它的局限性。 就是绑定的时候,需要知道sender和receiver,其实和回调函数差不多了。 我想要发送者和接收者解耦。 即:发送者和接受者彼此不知道对方是谁。 发送者不知道一个消息是谁接收的;接收者也不知道一个消息是谁发送的。 对了,消息里面要允许绑定一些数据。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
donwmufromdying
2019-11-29
打赏
举报
回复
那就只好用消息队列来解耦了。rabbitMQ,kafka,
ly1chee
2019-11-28
打赏
举报
回复
postEvent和sendEvent也需要指定receiver,Qt没有提供全局发送事件的功能。 另外signal/slot和callback的区别还是有的: 1:如果你给一个对象A设置了一个callback,而这个callback是对象B的成员函数,如果B对象销毁了,A并不知道callback是否还有效,但实际上callback已经不能被调用了。如果用signal/slot,sender触发信号并不需要担心receiver已经销毁了,因为在销毁的时候所有连接都已经断开。 2:如果多个对象需要监控一个对象,那么可以通过在被监控对象上设置多个callback来监控这个对象,这样被监控对象就需要维护一个列表来存放多个callback。而用signal/slot只需要在循环里面连接被监控对象和监控对象就行了。
donwmufromdying
2019-11-27
打赏
举报
回复
有啊,使用postEvent或者sendEvent然后接收方的eventloop里处理这些event. 只要注意,这两个函数的使用区别。主要是event的所有权区别
Qt
核心
机制
与原理
★理解
Qt
的事件模型,掌握其使用的时机信号与槽、元对象系统、事件模型是
Qt
机制
的核心,如果您想要掌握
Qt
编程,就需要对它们有比较深入的了解。本章重点介绍了信号与槽的基本概念和用法、元对象系统、
Qt
的事件模型,...
Qt
·核心
机制
核心
机制
Qt
核心
机制
和原理
★了解
Qt
和C++的关系★掌握
Qt
的信号/槽
机制
的原理和使用方法★了解
Qt
的元对象系统★掌握...信号与槽、元对象系统、事件模型是
Qt
机制
的核心,如果您想要掌握
Qt
编程,就需要对它们有比较深入的了解。本章重点介绍了...
【C/C++
Windows
编程】
Windows
系统消息、
Qt
消息事件、linux下kill信号
Windows
中有一个系统消息队列,对于每一个正在执行的
Windows
应用程序,系统为其建立一个“消息队列”,即应用程序消息队列,用来存放该程序可能创建的各种窗口的消息。应用程序中含有一段称作“消息循环”的代码,...
Qt
实现客户端与服务器消息发送与文件传输
客户端与服务器之间的数据传送在很多案例场景里都会有应用。这里Jungle用
Qt
来简单设计实现一个场景,即: ①两端:服务器
Qt
Server和客户端
Qt
Client ②功能:服务端连接客户端,两者能够互相发送消息,传送文件,...
Qt
16,818
社区成员
26,684
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章