当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 9 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 痛苦,请问有没有人成功在QT4中使用QProcess调用外部程序,并重定向输出到QTextEdit呢?
帖子发表于 : 2010-03-17 1:10 
头像

注册: 2008-09-21 23:42
帖子: 21
送出感谢: 0 次
接收感谢: 0 次
痛苦,请问有没有人成功在QT4中使用QProcess调用外部程序,并重定向输出到QTextEdit中呢?如果有,能不能共享下过程啊!谢谢!我的程序或者是shell命令能够正常调用,但是,没法重定向信息从QTextEdit输出。只是输出个换行。查了很多资料,未果。希望高人指点指点,小的感激不尽!为这,痛苦中...救命啊!急!


_________________
不要认为自己的生活悲苦,别人的故事你又知道多少呢?...http://www.lkphy.cn梦想韵律飞扬 淘宝网店 服装专卖 欢迎您!对服务的更新和拓展正应该是每一种操作系统所追求和希望的。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 痛苦,请问有没有人成功在QT4中使用QProcess调用外部程序,并重定向输出到QTextEdit呢?
帖子发表于 : 2010-03-17 9:39 

注册: 2006-02-27 10:32
帖子: 267
送出感谢: 0 次
接收感谢: 0 次
QT下的没有做过,windows下做过,因为就是获取STDIO的句柄,然后重定向。
下面的示例代码应该可以在QT4下使用吧。
http://doc.trolltech.com/3.0/process-example.html

另外,你确认shell中是输出到 STDOUT,不是 STDERR 吧。


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 痛苦,请问有没有人成功在QT4中使用QProcess调用外部程序,并重定向输出到QTextEdit呢?
帖子发表于 : 2010-03-17 13:00 
头像

注册: 2008-09-21 23:42
帖子: 21
送出感谢: 0 次
接收感谢: 0 次
我使用:
QProcess proc;
QString str;
proc->setSTDFile("a.txt");
proc->start("ifconfig");
在当前目录下有a.txt,内容为ifconfig的输出。
然后:
str=proc->readAll();
textEdit->appent(str);
只输出个换行。
不知问题何在?除了readAll,其他的readAllSTDerr等都试过了,效果一样。


_________________
不要认为自己的生活悲苦,别人的故事你又知道多少呢?...http://www.lkphy.cn梦想韵律飞扬 淘宝网店 服装专卖 欢迎您!对服务的更新和拓展正应该是每一种操作系统所追求和希望的。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 痛苦,请问有没有人成功在QT4中使用QProcess调用外部程序,并重定向输出到QTextEdit呢?
帖子发表于 : 2010-03-17 13:27 

注册: 2006-02-27 10:32
帖子: 267
送出感谢: 0 次
接收感谢: 0 次
没有使用过QT,对他的signal-slot机制不是很熟悉,说错了的话请见谅。我看了QT4的文档,没有QT3详细,所以我按照QT3的说明理解,希望QT3/4在这个方面没有调整。

1. readStdout/readAllStandardOutput,按照QT3,Reads the data that the process has written to standard output。也就是说他只会获取已经输出到标准输出的数据。按照文档,readStdout 并不会等待(非阻塞方式)。
2. readyReadStdout/readyReadAllStandardOutput,当有了新的数据,会通过signal-slot机制调用readyReadStdout通知应用程序,应用程序可以调用 readStdout 获取数据。
3. setSTDFile,我没有看到相应的文档,是否因为setSTDfile会调用QT内部的处理?

我的理解:
应用程序需要处理 readyReadStdout 消息,在收到该消息后调用 readStdout 获取内容。

请注意示例代码中的:
代码:
connect( proc, SIGNAL(readyReadStdout()),
            this, SLOT(readFromStdout()) );


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 痛苦,请问有没有人成功在QT4中使用QProcess调用外部程序,并重定向输出到QTextEdit呢?
帖子发表于 : 2010-03-17 13:29 
头像

注册: 2008-12-13 19:39
帖子: 13284
地址: 物华天宝人杰地灵
送出感谢: 1
接收感谢: 6
楼主去专门的Qt中文论坛问下版主吧,那个版主Qt水平很不错滴----至少在国内来说。 :em06


_________________
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 痛苦,请问有没有人成功在QT4中使用QProcess调用外部程序,并重定向输出到QTextEdit呢?
帖子发表于 : 2010-03-17 16:15 
头像

注册: 2008-09-21 23:42
帖子: 21
送出感谢: 0 次
接收感谢: 0 次
钻研中...

另外: 不好意思,我缩写了proc->setStandardOutputFile();

问题在其它地方也发了,等着回复。看来我还得看看书... :em06


_________________
不要认为自己的生活悲苦,别人的故事你又知道多少呢?...http://www.lkphy.cn梦想韵律飞扬 淘宝网店 服装专卖 欢迎您!对服务的更新和拓展正应该是每一种操作系统所追求和希望的。


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 痛苦,请问有没有人成功在QT4中使用QProcess调用外部程序,并重定向输出到QTextEdit呢?
帖子发表于 : 2010-03-17 18:07 
头像

注册: 2008-09-21 23:42
帖子: 21
送出感谢: 0 次
接收感谢: 0 次
问题解决啦,哈哈。。
天哪,我痛苦了两天,终于熬出lai啦..
原来是基础、原理和细节问题...冷静,再看一遍课本,问题解决..!..
谢谢,楼上们的帮助,没有你们的分担,我可要绝望啦....Thanks again.


_________________
不要认为自己的生活悲苦,别人的故事你又知道多少呢?...http://www.lkphy.cn梦想韵律飞扬 淘宝网店 服装专卖 欢迎您!对服务的更新和拓展正应该是每一种操作系统所追求和希望的。


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 痛苦,请问有没有人成功在QT4中使用QProcess调用外部程序,并重定向输出到QTextEdit呢?
帖子发表于 : 2011-08-03 11:34 

注册: 2011-08-03 11:33
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
能告诉下怎么解决的吗?遇到同样的问题了


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 痛苦,请问有没有人成功在QT4中使用QProcess调用外部程序,并重定向输出到QTextEdit呢?
帖子发表于 : 2015-04-02 15:11 

注册: 2015-04-02 14:46
帖子: 2
送出感谢: 0 次
接收感谢: 0 次
您是怎么解决的?遇到相同的问题


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 9 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译