关于一个复杂程序里个部件的通信问题

加盾男爵 2018-07-16 10:53:58
现在有个程序,该程序需要和外部进行通信。然后外部设备会发送各自消息,程序接收到消息后进行分析并根据消息的不同来操作程序。

然后现在的问题是,程序比较复杂,然后设备接收到消息的需要发给程序的各个部件,比如程序有个QDialog,里面包含了一个QTableView用于显示设备的列表,而QTableView则用QAbstractTableModel处理数据(一个很普通的MVC结构),这个MVC结构还包含了几个委托类处理数据的各自问题。。。。
这里通过委托在QTableView上设置了一个按钮,是的用户可以点击按钮来控制设备的启动与停止,要打到这个功能,用户点击按钮后委托通知模型,模型想设备发送一个消息,然后设备启动后应答一个消息,程序收到应道后通知QDialog,然后QDialog调用模型/视图的各个函数更改视图表格的显示与数据。。。。
简单的说,每一个消息的处理,都需要做大量的处理,而消息的目的地的部件结构越深,处理就约麻烦


目前发送消息比较简单,我建了一个静态函数(其实是一个特殊处理的类),然后不管哪个部件(类)需要发送消息,只要调用下这个静态函数就OK了,单接收消息就显得复杂无比。。。
对于这样的情况,有没有比较好的解决方案?
...全文
103 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr。Lili 2018-07-27
  • 打赏
  • 举报
回复
用共享内存进行通信。

64,636

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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