关于QT中多个类之间数据访问的问题

sonicss 2017-03-31 08:49:54
我有个父类A,实例化了类B1和类B2,类B1负责TCP通信,类B2负责CAN通信。

主站的数据都是类B1通过TCP收发的;

底层的数据都是类B2通过CAN总线收发的;

如何很好的实现类B2的数据和类B1的数据进行交互呢?(数据量比较大)

我想到的有3种方式:

1:使用全局变量

2:使用静态变量,通过类名+静态变量访问

3:通过信号和槽,信号中将需要传给对方的数据指针带过去

通常在几个相互之间没有实例化关系的类中,如何做大数据的传输比较好?
...全文
1071 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
rivershan 2017-04-19
  • 打赏
  • 举报
回复
单例类, 用一个qbytearray, 用qmutex保护... 2个读写线程, 10ms一个数据读写没问题
jun_01 2017-04-13
  • 打赏
  • 举报
回复
楼主的方法都可以吧。 如果用静态变量,就要保证B1、B2都只有一份。
Acuity. 2017-04-08
  • 打赏
  • 举报
回复
引用 4 楼 sonicss 的回复:
管道是用在不同进程之间比较合适吧,同一个程序,这样用不是太复杂吗?
同一个程序你也可以开几个处理线程啊,也必须这样做,提高处理效率!
sonicss 2017-04-08
  • 打赏
  • 举报
回复
管道是用在不同进程之间比较合适吧,同一个程序,这样用不是太复杂吗?
bestman 2017-03-31
  • 打赏
  • 举报
回复
按二楼的方法,管道做最好
bestman 2017-03-31
  • 打赏
  • 举报
回复
建议使用文件比较好,B1和B2可以写成两个线程,同时对同一个文件访问,加互斥锁,可以做到同步
诺水城子 2017-03-31
  • 打赏
  • 举报
回复
使用管道传输

16,215

社区成员

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

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