[问题] QT QProcess 即时输出 Stdout

楼主: qscgy4 (有点厉害)   2015-08-07 21:44:49
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
QT Creator 5.4
Win7 x64
问题(Question):
各位大大好,我是QT新手,
上一篇本来问完要自删,但不能..所以另发一篇,抱歉
我现在想用QT开一个Mainwindows呼叫一个Dialog,
然后在Dialog下按一个按钮去执行一个外部程式,
之后可以把程式的stdout输出到 plainTextEdit,
试了很多方法没有没办法例如 readyRead(), readyReadStandardOutput(), readLine()
甚至用QTimer去读都没有用,他都一定要等到程式结束才会发出 readyRead(),
readyReadStandardOutput() 讯号
请问各位大大应该要怎么即时显示(或是得到即时字串)
程式码(Code):(请善用置底文网页, 记得排版)
假设外部程式test.exe原始码:
http://codepad.org/lRJxxe2l
QT简化后原始码:
http://codepad.org/TC1QCfkJ
作者: EdisonX (卡卡兽)   2015-08-08 00:17:00
我是没碰过 QT , 在 MFC 下对子控制做 SetWindowText 后,必须再做 RedrawWindow 才可即时更新,否则就是你说的问题查查 QT 有没有类似的东西 ?对了 , 另外你的 test.exe , 在做完 printf 时, 也要加上 fflush(stdout) , 不然也会导致一样的问题 .

Links booklink

Contact Us: admin [ a t ] ucptt.com