免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8584 | 回复: 9
打印 上一主题 下一主题

如何把我的程序和QT界面衔接起来? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-15 11:21 |只看该作者 |倒序浏览
在linux下做了一个数据采集系统。之前主要是没考虑到界面问题。数据结果都是以  printf()打印方式来显示的。
现在需要加一个QT的图像界面来显示数据。

不知道如何将我的数据和QT图形界面连接起来。
在网上也看了些程序,几乎所有的有QT图形界面的程序都是在做图形界面的时候就把数据采集程序嵌入到QT程序中去了。
说一个不恰当的例子,假设QT是一种语言的话,都是把数据采集程序用QT语言写的。
还没有看到像我这样的,数据采集和图形界面分开写的。不知道我的这个系统如果要图形界面的话,系统所有的程序都得重新用QT来写。

如何解决这个问题。
谢谢

论坛徽章:
0
2 [报告]
发表于 2009-11-15 12:20 |只看该作者
进程间通信。

内存映射、消息、管道选一个。

在QT显示程序里面写取数据的东东,printf改成进程间通信的写入。

不过仍然复杂。

论坛徽章:
0
3 [报告]
发表于 2009-11-15 13:12 |只看该作者

回复 #2 克拉玛依 的帖子

谢谢指点。

论坛徽章:
0
4 [报告]
发表于 2009-11-25 20:02 |只看该作者

回复 #2 克拉玛依 的帖子

关于进程见通信的问题,不知道linux下进程间通信的机制和函数可不可以写到QT里面去。据我了解,QT有自己的进程间通信的机制和函数。请各位指教。
谢谢

论坛徽章:
0
5 [报告]
发表于 2009-11-25 21:48 |只看该作者
我的情况比较特殊。
也就是,我在linux下做了一个数据采集程序,该程序用来采集外部数据通过网络发送出去,
但是同时需要在arm的液晶显示器上同步显示采集的数据。
整个数据采集系统的运行并不依赖于QT图形界面。意思就是说该数据采集系统始终在运行,它的启动与QT显示界面没关系。
只不过QT图形界面需要实时同步的显示采集到的数据。
考虑用FIFO有名管道实现数据采集进程同QT图形界面进程通信来达到目的。
但是由于FIFO的机制,数据采集进程通过FIFO文件写数据,是一只在写,也就是说,同步的传输采集的数据到管道,因为数据一直在采集。
但是这个里面就有一个阻塞的问题。如果QT图形界面还没来得及取走数据,就会导致我数据采集进程的阻塞。
如果用非阻塞方式来打开管道,同样,如果我的QT图形界面正在读数据,那么我的数据采集进程就会因为write()函数而阻塞。

不知道还有没有其他的办法来解决我的问题。
谢谢

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
6 [报告]
发表于 2009-11-26 10:09 |只看该作者
没那么复杂
把你的程序用QT写一个GUI界面就可以了
没什么难度吧

论坛徽章:
0
7 [报告]
发表于 2009-11-26 13:53 |只看该作者

回复 #6 T-Bagwell 的帖子

按照用户的需求就是开机自动启动该数据采集系统。不管QT界面启动与否,数据采集系统都要采集数据通过网口传送出去。
如果用QT写的话,哪岂不是QT界面不启动该系统就不能运行了??

论坛徽章:
5
摩羯座
日期:2014-07-22 09:03:552015元宵节徽章
日期:2015-03-06 15:50:392015亚冠之大阪钢巴
日期:2015-06-12 16:01:352015年中国系统架构师大会
日期:2015-06-29 16:11:2815-16赛季CBA联赛之四川
日期:2018-12-17 14:10:21
8 [报告]
发表于 2009-11-26 15:15 |只看该作者
这个就要看你怎么做了

论坛徽章:
0
9 [报告]
发表于 2009-11-26 15:58 |只看该作者
你显示的也就是一些状态什么的吧,直接抛消息就可以了,彼此单独的转,有消息就抛给QT,QT直接来处理这些消息来显示。这样2方面就接起来了,单独跑也可以跑。

论坛徽章:
0
10 [报告]
发表于 2009-11-26 18:49 |只看该作者
跟用户商量商量,能不能用QT的界面来启动系统。
用户想的是界面实时显示系统采集的信息。感觉这样做比难做。
如果用QT些应该会比这样容易些
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP