求一个QProcess和readAllStandardOutput的例子

暴风lay 2012-10-19 05:50:35
用QProcess运行shell命令“pwd”后把标准输出的信息赋值给一个QString

Proc->execute("pwd");
Proc->waitForFinished(30000);

QByteArray Output = Proc->readAllStandardOutput();
QString result = Output;
qDebug()<<result;

这是我的程序,调试result是空的,不知道什么原因,弄了一天了。。。大家给我一个能实现这功能的完整代码吧,谢谢了
...全文
1005 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
暴风lay 2012-10-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

QProcess signal :void readyReadStandardOutput ()
要写一个槽,和这个信号链接,在槽里面读就会有数据了,QProcess是异步运行的,调用程序返回的结果不一定在什么时候,要是有数据的时候这个信号就会发射,去读就会有数据。
[/Quote]

谢谢您,我现在又遇到一个新问题,就是把readyReadStandardOutput读到的东西实时的输出到textEdit,但每次输出都会覆盖上一次的内容,如何才能不覆盖呢?
  • 打赏
  • 举报
回复
setText(text()+ "newstring");
暴风lay 2012-10-19
  • 打赏
  • 举报
回复
谢谢,我找到一个例子,照样改了下就好了,呵呵
http://stackoverflow.com/questions/11921004/cannot-read-output-using-readyreadstandardoutput-in-qt
jdwx 2012-10-19
  • 打赏
  • 举报
回复
QProcess signal :void readyReadStandardOutput ()
要写一个槽,和这个信号链接,在槽里面读就会有数据了,QProcess是异步运行的,调用程序返回的结果不一定在什么时候,要是有数据的时候这个信号就会发射,去读就会有数据。

16,230

社区成员

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

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