[問題] 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