• 7197阅读
  • 5回复

Qprocess如何让后台c程序的printf输出语句显示在lineedit中? [复制链接]

上一主题 下一主题
离线wangke
 
只看楼主 倒序阅读 楼主  发表于: 2009-07-25
谢谢大家了,帮帮,最好有个例程哦!!
离线mileden

只看该作者 1楼 发表于: 2009-07-25
readAllStandardOutput

readAllStandardError

看下 List of All Members for QProcess 里面有一堆 read 相关函数。

QProcess 可用类似文件的读写操作。
离线wangke
只看该作者 2楼 发表于: 2009-07-25
mileden,你好,
这是我的部分代码:
connect(&process,SIGNAL(readyReadStandardOutput()),this,SLOT(updaterev_line()));
.......
void Serial::updaterev_line()
{
           QByteArray txt=process.readAllStandardOutput();
           QString output= rev_line->text()+QString::fromLocal8Bit(txt);
           rev_line->setText(output);
}
但是rev_line(lineEdit控件)中始终显示不出东西,本来应该读的到后台程序的标准输出吧?
后台是个串口通信程序,不停的读下位机发来的数据,然后在stdout上有显示,现在想显在lineEdit中,但是这样不行,请帮帮忙!
离线wangke
只看该作者 3楼 发表于: 2009-07-26
在槽函数里面加了打印信息,终端上并没有出现打印信息,应该是readyReadStandardOutput()信号没有触发槽函数,在下不知道什么原因了?请高手帮帮!
离线wangke
只看该作者 4楼 发表于: 2009-07-27
问题解决了,我链接到标准错误输出就ok了,不知道为什么,应用程序用fprintf输出到stderr就行了
离线米妮
只看该作者 5楼 发表于: 2011-09-26
回 2楼(wangke) 的帖子
请问您当时这部分的完整程序代码还有保存吗?能让学习一下吗?
快速回复
限100 字节
 
上一个 下一个