Qt调用外部程序并获取其变量值的问题

小小菜鸟儿 2013-08-31 11:53:21
最近遇到一个问题,想为一个已经编好的C程序设计一个界面,这个程序较大,且会输出很多变量值,要求这些变量值在界面显示,但并不是一下全部显示,而是想让哪个变量显示时才会显示,那么如何用Qt调用这个程序并获得这些变量值呢,如果把这个程序融合到界面做成一个程序感觉有可行性吗?要是以两个独立的程序的形式该怎么做呢?请各位专业人士解疑答惑,感激不尽~~~
...全文
462 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
醉过方知酒烈 2013-09-02
  • 打赏
  • 举报
回复
C程序可以直接和Qt编译在一起啊,最简单的方法,用Qt做框架啊,进程间通信多麻烦。 C是最基本的,哪儿都可以移植的。
  • 打赏
  • 举报
回复
这些是最基本的
小小菜鸟儿 2013-09-02
  • 打赏
  • 举报
回复
引用 8 楼 zhango5 的回复:
引用 7 楼 u011434036 的回复:
[quote=引用 6 楼 zhango5 的回复:] [quote=引用 4 楼 u011434036 的回复:] [quote=引用 1 楼 zhango5 的回复:] 我的理解是不是可以用Qt做一个界面,把你的C程序做成一个库,用Qt的界面去加载,由UI上的按键去控制启动,得到结果后再由界面来控制值得显示。不知道我的理解对不对???
感谢你的回答,我还有疑问,C程序运行过程中部分参数值需要实时显示,而且C程序一经调用运行结束所有的值都会有结果,界面如何控制显示具体某个值呢,是不是涉及到两个程序间参数传递问题呢?
我还是不太明白你想实现的东西是什么样子。按我的理解,你可以在界面控制显示或者隐藏就可以了,不需要哪些数据,只需把对应控件隐藏掉就好了,不知道我的理解对不对。或者你可以考虑把这段C程序的代码加到这个软件中就可以了[/quote]是要做个流量测量软件的界面,如同wireshark那样的,就是要在菜单中点击查看哪个结果就输出哪个结果,功能的实现别人已经用C程序写好了,让我给做个界面[/quote] 那很简单啊,C程序好了,那就调用运行,返回来的数据放在UI显示就可以了,用个checkbox或者别的什么来控制显示隐藏就OK了啊,不需要哪个不显示就可以了么[/quote]C程序返回的数据很多,要在其中选择一部分用一个控件显示出来,再选择另一部分用别的控件显示,如何把某个具体的数据放在我想放的控件中呢
小小菜鸟儿 2013-09-02
  • 打赏
  • 举报
回复
引用 8 楼 zhango5 的回复:
引用 7 楼 u011434036 的回复:
[quote=引用 6 楼 zhango5 的回复:] [quote=引用 4 楼 u011434036 的回复:] [quote=引用 1 楼 zhango5 的回复:] 我的理解是不是可以用Qt做一个界面,把你的C程序做成一个库,用Qt的界面去加载,由UI上的按键去控制启动,得到结果后再由界面来控制值得显示。不知道我的理解对不对???
感谢你的回答,我还有疑问,C程序运行过程中部分参数值需要实时显示,而且C程序一经调用运行结束所有的值都会有结果,界面如何控制显示具体某个值呢,是不是涉及到两个程序间参数传递问题呢?
我还是不太明白你想实现的东西是什么样子。按我的理解,你可以在界面控制显示或者隐藏就可以了,不需要哪些数据,只需把对应控件隐藏掉就好了,不知道我的理解对不对。或者你可以考虑把这段C程序的代码加到这个软件中就可以了[/quote]是要做个流量测量软件的界面,如同wireshark那样的,就是要在菜单中点击查看哪个结果就输出哪个结果,功能的实现别人已经用C程序写好了,让我给做个界面[/quote] 那很简单啊,C程序好了,那就调用运行,返回来的数据放在UI显示就可以了,用个checkbox或者别的什么来控制显示隐藏就OK了啊,不需要哪个不显示就可以了么[/quote]该怎么调用呢,UI如何获得这些返回来的数据并放在具体的控件中显示呢,比如我想用QTreeWidget来分层显示一个流量统计的结果,怎么把返回来的数据正确的安排在QTreeWidget的具体位置呢?
  • 打赏
  • 举报
回复
引用 7 楼 u011434036 的回复:
引用 6 楼 zhango5 的回复:
[quote=引用 4 楼 u011434036 的回复:] [quote=引用 1 楼 zhango5 的回复:] 我的理解是不是可以用Qt做一个界面,把你的C程序做成一个库,用Qt的界面去加载,由UI上的按键去控制启动,得到结果后再由界面来控制值得显示。不知道我的理解对不对???
感谢你的回答,我还有疑问,C程序运行过程中部分参数值需要实时显示,而且C程序一经调用运行结束所有的值都会有结果,界面如何控制显示具体某个值呢,是不是涉及到两个程序间参数传递问题呢?
我还是不太明白你想实现的东西是什么样子。按我的理解,你可以在界面控制显示或者隐藏就可以了,不需要哪些数据,只需把对应控件隐藏掉就好了,不知道我的理解对不对。或者你可以考虑把这段C程序的代码加到这个软件中就可以了[/quote]是要做个流量测量软件的界面,如同wireshark那样的,就是要在菜单中点击查看哪个结果就输出哪个结果,功能的实现别人已经用C程序写好了,让我给做个界面[/quote] 那很简单啊,C程序好了,那就调用运行,返回来的数据放在UI显示就可以了,用个checkbox或者别的什么来控制显示隐藏就OK了啊,不需要哪个不显示就可以了么
小小菜鸟儿 2013-09-02
  • 打赏
  • 举报
回复
引用 6 楼 zhango5 的回复:
引用 4 楼 u011434036 的回复:
[quote=引用 1 楼 zhango5 的回复:] 我的理解是不是可以用Qt做一个界面,把你的C程序做成一个库,用Qt的界面去加载,由UI上的按键去控制启动,得到结果后再由界面来控制值得显示。不知道我的理解对不对???
感谢你的回答,我还有疑问,C程序运行过程中部分参数值需要实时显示,而且C程序一经调用运行结束所有的值都会有结果,界面如何控制显示具体某个值呢,是不是涉及到两个程序间参数传递问题呢?
我还是不太明白你想实现的东西是什么样子。按我的理解,你可以在界面控制显示或者隐藏就可以了,不需要哪些数据,只需把对应控件隐藏掉就好了,不知道我的理解对不对。或者你可以考虑把这段C程序的代码加到这个软件中就可以了[/quote]是要做个流量测量软件的界面,如同wireshark那样的,就是要在菜单中点击查看哪个结果就输出哪个结果,功能的实现别人已经用C程序写好了,让我给做个界面
  • 打赏
  • 举报
回复
引用 4 楼 u011434036 的回复:
引用 1 楼 zhango5 的回复:
我的理解是不是可以用Qt做一个界面,把你的C程序做成一个库,用Qt的界面去加载,由UI上的按键去控制启动,得到结果后再由界面来控制值得显示。不知道我的理解对不对???
感谢你的回答,我还有疑问,C程序运行过程中部分参数值需要实时显示,而且C程序一经调用运行结束所有的值都会有结果,界面如何控制显示具体某个值呢,是不是涉及到两个程序间参数传递问题呢?
我还是不太明白你想实现的东西是什么样子。按我的理解,你可以在界面控制显示或者隐藏就可以了,不需要哪些数据,只需把对应控件隐藏掉就好了,不知道我的理解对不对。或者你可以考虑把这段C程序的代码加到这个软件中就可以了
小小菜鸟儿 2013-09-02
  • 打赏
  • 举报
回复
引用 2 楼 jinjianxinxh 的回复:
[quote=引用 1 楼 zhango5 的回复:] 我的理解是不是可以用Qt做一个界面,把你的C程序做成一个库,用Qt的界面去加载,由UI上的按键去控制启动,得到结果后再由界面来控制值得显示。不知道我的理解对不对???
++ 或者可以做一个进程间通信[/quote]我看了一个进程间通信类QProcess但似乎是一下子把输出信息全部传递到主进程,如何做到传递某个具体变量的值呢?
小小菜鸟儿 2013-09-02
  • 打赏
  • 举报
回复
引用 1 楼 zhango5 的回复:
我的理解是不是可以用Qt做一个界面,把你的C程序做成一个库,用Qt的界面去加载,由UI上的按键去控制启动,得到结果后再由界面来控制值得显示。不知道我的理解对不对???
感谢你的回答,我还有疑问,C程序运行过程中部分参数值需要实时显示,而且C程序一经调用运行结束所有的值都会有结果,界面如何控制显示具体某个值呢,是不是涉及到两个程序间参数传递问题呢?
  • 打赏
  • 举报
回复
引用 2 楼 jinjianxinxh 的回复:
[quote=引用 1 楼 zhango5 的回复:] 我的理解是不是可以用Qt做一个界面,把你的C程序做成一个库,用Qt的界面去加载,由UI上的按键去控制启动,得到结果后再由界面来控制值得显示。不知道我的理解对不对???
++ 或者可以做一个进程间通信[/quote] 可以做进程间通信,但是返回的数据怎么接收,而且看样子还挺多的么
jinjianxinxh 2013-09-02
  • 打赏
  • 举报
回复
引用 1 楼 zhango5 的回复:
我的理解是不是可以用Qt做一个界面,把你的C程序做成一个库,用Qt的界面去加载,由UI上的按键去控制启动,得到结果后再由界面来控制值得显示。不知道我的理解对不对???
++ 或者可以做一个进程间通信
  • 打赏
  • 举报
回复
引用 13 楼 u011434036 的回复:
引用 11 楼 zhango5 的回复:
这些是最基本的
对我这样的菜鸟来说来说不是最基本的啊,求告知方法
写好的C程序肯定有结果吧,会以一种形式返回吧,采集到这些数据,在UI上放置一些编辑框,赋值就可以了么
醉过方知酒烈 2013-09-02
  • 打赏
  • 举报
回复
引用 14 楼 u011434036 的回复:
[quote=引用 12 楼 yanbin_1985525 的回复:] C程序可以直接和Qt编译在一起啊,最简单的方法,用Qt做框架啊,进程间通信多麻烦。 C是最基本的,哪儿都可以移植的。
这样做能不能实现Qt中触发一个事件就调用C程序中的某个特定函数?[/quote] 直接把C函数在Qt槽中调用。
小小菜鸟儿 2013-09-02
  • 打赏
  • 举报
回复
引用 12 楼 yanbin_1985525 的回复:
C程序可以直接和Qt编译在一起啊,最简单的方法,用Qt做框架啊,进程间通信多麻烦。 C是最基本的,哪儿都可以移植的。
这样做能不能实现Qt中触发一个事件就调用C程序中的某个特定函数?
小小菜鸟儿 2013-09-02
  • 打赏
  • 举报
回复
引用 11 楼 zhango5 的回复:
这些是最基本的
对我这样的菜鸟来说来说不是最基本的啊,求告知方法
  • 打赏
  • 举报
回复
我的理解是不是可以用Qt做一个界面,把你的C程序做成一个库,用Qt的界面去加载,由UI上的按键去控制启动,得到结果后再由界面来控制值得显示。不知道我的理解对不对???

16,216

社区成员

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

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