社区
Qt
帖子详情
Qt有封装SendMessage的机制吗?特别是在mac下像windows一样
szuzsq
2019-11-25 09:06:28
信号还是有它的局限性。
就是绑定的时候,需要知道sender和receiver,其实和回调函数差不多了。
我想要发送者和接收者解耦。
即:发送者和接受者彼此不知道对方是谁。
发送者不知道一个消息是谁接收的;接收者也不知道一个消息是谁发送的。
对了,消息里面要允许绑定一些数据。
...全文
344
3
打赏
收藏
Qt有封装SendMessage的机制吗?特别是在mac下像windows一样
信号还是有它的局限性。 就是绑定的时候,需要知道sender和receiver,其实和回调函数差不多了。 我想要发送者和接收者解耦。 即:发送者和接受者彼此不知道对方是谁。 发送者不知道一个消息是谁接收的;接收者也不知道一个消息是谁发送的。 对了,消息里面要允许绑定一些数据。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
5在
windows
和
Mac
下的安装使用
本文介绍了
Qt
5在
Windows
和
Mac
下的安装使用方法。
Qt
是跨平台的C++图形用户界面应用程序框架,在
Windows
可使用VS系列和MinGW,
Mac
下用gcc。详细说明了在
Windows
下用MinGW和
Qt
creator,以及在
Mac
下用
Qt
creator的操作步骤,还提及了
Qt
中常见错误。
qt
移植
windows
程序并在
mac
下打包
本文介绍了如何将基于
Qt
的
Windows
应用程序移植到
Mac
平台,包括安装
Qt
环境、修改工程配置、处理平台相关函数、解决权限问题以及打包成dmg安装包的详细步骤,确保代码在双平台上顺利运行。
qt
c++开发低功耗蓝牙bluetooth le软件 for
windows
、
mac
跨平台
本文介绍
QT
框架对
Windows
和
Mac
平台低功耗蓝牙(BLE)设备的支持,同时涵盖了与Arduino等串口设备的交互方式,提供代码实例。
qt
集成 quazip
mac
windows
本文详细介绍在
Windows
和
Mac
上编译及使用quazip库的方法。包括配置环境、编译步骤和常见问题解决,适用于跨平台压缩需求。
qt
工程,
windows
到
mac
的移植
本文介绍了如何在
Mac
上搭建
QT
开发环境,并提供了详细的步骤。包括下载和安装
mac
版
QT
库,以及如何使用
QT
Creator创建并编译
QT
QuickGui工程。
Qt
21,495
社区成员
26,692
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章