[問題] QT QProcess 即時輸出 Stdout

看板C_and_CPP (C/C++)作者 (Unknow)時間10年前 (2015/08/07 21:44), 10年前編輯推噓1(104)
留言5則, 1人參與, 最新討論串1/1
開發平台(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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.195.48.157 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1438955092.A.795.html ※ 編輯: qscgy4 (123.195.48.157), 08/07/2015 21:48:42

08/08 00:17, , 1F
我是沒碰過 QT , 在 MFC 下對子控制做 SetWindowText 後,
08/08 00:17, 1F

08/08 00:18, , 2F
必須再做 RedrawWindow 才可即時更新,否則就是你說的問題
08/08 00:18, 2F

08/08 00:18, , 3F
查查 QT 有沒有類似的東西 ?
08/08 00:18, 3F

08/08 00:19, , 4F
對了 , 另外你的 test.exe , 在做完 printf 時, 也要加
08/08 00:19, 4F

08/08 00:19, , 5F
上 fflush(stdout) , 不然也會導致一樣的問題 .
08/08 00:19, 5F
文章代碼(AID): #1LnBPKUL (C_and_CPP)
文章代碼(AID): #1LnBPKUL (C_and_CPP)