我在python 中呼叫qt寫了一個界面,然后用os.system執行了一個cmd命令,該cmd是執行了一個c語言寫的exe可執行檔案,執行時會有printf輸出內容到終端,怎么將這些內容輸出到qt寫的界面中,目前的情況是,python代碼中的print都輸出到了qt界面,而exe的輸出還是在pycharm那個終端輸出
我試了好幾種都不行,包括os.popen,subproscess.popen
我是python小白,只是會寫一點小腳本
麻煩大佬給解決哈或者提供解決思路
uj5u.com熱心網友回復:
方案一:將C語言的列印內容輸出到檔案中,再在qt中讀取該檔案的內容!
特別注意:在【用os.system執行了一個cmd命令,該cmd是執行了一個c語言寫的exe可執行檔案】時需要進行同步處理,避免檔案還沒生成,QT就開始讀取!
方案二:
可以研究一下python里的管道pipe模塊,實作行程間的通信問題!
uj5u.com熱心網友回復:
首先謝謝你的回復,方案一我試過,但是我的exe一直在運行,假如寫入一個txt中,相當于內容一直在寫入,exe在運行的程序中,txt的大小慢慢在變動,qt去讀取的時候好像讀取不到內容,我應該怎么去同步。 方案二是指subprocess.Popen方法嗎?我目前是使用的這個方法,我創建了一個執行緒去執行這局代碼,初步能夠滿足我目前使用,但是感覺效果不理想。轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/60812.html
