C程序输出数据,在QT界面上的lineedit中实时显示,用什么方法?

gaoqiaoming 2011-12-08 02:31:32
C程序输出数字0~9,或者一串字符串,怎么在QT界面上实时显示在QT界面上的lineedit中,求方法,求代码,万分感谢!!!
...全文
1376 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
gaoqiaoming 2011-12-15
  • 打赏
  • 举报
回复
问题解决,C程序和QT程序是各自独立,最终的方法是C程序通过消息队列发送数据给QT,QT开一个线程专门接收,收到一个数据就发送信号,界面设计槽函数接收,然后显示。结贴给分
DarthVader 2011-12-13
  • 打赏
  • 举报
回复
如果不是必须分开,写在一个工程里,用信号槽机制实现同步刷新最方便;
如果C程序和QT程序各自独立,那就涉及到IPC(进程间通信)了,QProcess应该可以达到楼主的要求,除此之外还有其他的法子。楼主可以在QT帮助文档中查IPC试试运气
warknife 2011-12-12
  • 打赏
  • 举报
回复
楼主清理一下思路。
一种情况:你的test.c编译为对应的test独立可执行程序,你用qt另外写个程序中需要接收test输出的信息?
如果是这样,QProcess就可以达到效果。

一种情况:你的test.c与qt代码共同链接成一个可执行程序。那在代码里面写就好了。如果你的test.c附和qt对应的编译器支持的话.....

gaoqiaoming 2011-12-12
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 fzu_dianzi 的回复:]

感觉楼主这个问题问的不是很清晰。
[/Quote]

这还有什么不清晰的,我说了就是一个test.c程序,该程序与QT无一点关系,功能就是无限循环的输入什么,printf什么(只需要数字和字符串),现在就是要把这个打印的结果显示到QT界面上,而非以命令行的形式显示,这还不够清楚?
warknife 2011-12-12
  • 打赏
  • 举报
回复
看我这篇:
http://topic.csdn.net/u/20111212/13/08ec1f78-979f-4693-b1eb-6d8e81bd1343.html?84229
gaoqiaoming 2011-12-12
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 warknife 的回复:]

楼主清理一下思路。
一种情况:你的test.c编译为对应的test独立可执行程序,你用qt另外写个程序中需要接收test输出的信息?
如果是这样,QProcess就可以达到效果。

一种情况:你的test.c与qt代码共同链接成一个可执行程序。那在代码里面写就好了。如果你的test.c附和qt对应的编译器支持的话.....
[/Quote]
我的是前一种,也去看过QProcess,看的不是很懂,有类似的例子给小弟参考下的吗?
念茜 2011-12-11
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 gaoqiaoming 的回复:]

引用 11 楼 xiachm 的回复:

引用 10 楼 gaoqiaoming 的回复:

这个算是外部进程么

你的Qt代码和这个.c代码是否在一个工程里?


不在一个工程的
[/Quote]

在不在一个工程不重要,重要的是是不是一个进程
heycare 2011-12-11
  • 打赏
  • 举报
回复
感觉楼主这个问题问的不是很清晰。
sourire_will 2011-12-10
  • 打赏
  • 举报
回复
如果采用socket通信的话,我可以给你贴代码,呵呵
sourire_will 2011-12-10
  • 打赏
  • 举报
回复
楼主可以试试用socket通信,c程序发送,Qt监听,收到数据后实时地显示在lineEdit上
gaoqiaoming 2011-12-08
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 xiachm 的回复:]

引用 10 楼 gaoqiaoming 的回复:

这个算是外部进程么

你的Qt代码和这个.c代码是否在一个工程里?
[/Quote]

不在一个工程的
dbzhang800 2011-12-08
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 gaoqiaoming 的回复:]

这个算是外部进程么
[/Quote]http://blog.csdn.net/dbzhang800/article/details/6876451
xiachm 2011-12-08
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 gaoqiaoming 的回复:]

这个算是外部进程么
[/Quote]
你的Qt代码和这个.c代码是否在一个工程里?
gaoqiaoming 2011-12-08
  • 打赏
  • 举报
回复
这个算是外部进程么
gaoqiaoming 2011-12-08
  • 打赏
  • 举报
回复
就比如一个test.c,编译执行后功能就是输入什么,打印什么,现在就是要把这个打印的东西显示到QT界面上
xiachm 2011-12-08
  • 打赏
  • 举报
回复
如果是外部进程,看看QProcess类。
xiachm 2011-12-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 gaoqiaoming 的回复:]

引用 4 楼 xiaoliang_1 的回复:

楼主 你在C程序输出数字0~9,或者一串字符串后 立马把输出的值接收住。比如说用Qstring Temp;
然后lineedit->setText(Temp);


问题就是QT怎么接收到C程序输出的数据?
[/Quote]
楼主说的"C程序"是一个外部的进程吗?还是一个函数?

gaoqiaoming 2011-12-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xiaoliang_1 的回复:]

楼主 你在C程序输出数字0~9,或者一串字符串后 立马把输出的值接收住。比如说用Qstring Temp;
然后lineedit->setText(Temp);
[/Quote]

问题就是QT怎么接收到C程序输出的数据?
gaoqiaoming 2011-12-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xiachm 的回复:]

不需要信号呀。

lineedit->setText(C_Function());
[/Quote]

C_Function()是C程序的函数?可以直接调用?
刀刀亮 2011-12-08
  • 打赏
  • 举报
回复
楼主 你在C程序输出数字0~9,或者一串字符串后 立马把输出的值接收住。比如说用Qstring Temp;
然后lineedit->setText(Temp);
加载更多回复(3)

16,802

社区成员

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

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