導航:首頁 > 編程語言 > qprocess調用外部程序

qprocess調用外部程序

發布時間:2024-07-10 08:53:38

① Qt打開外部程序(界面與程序連接)

#include<Qprocess>

void MainWindow2::program() //打開外部程序

{

    this->hide();  /枯凱/隱藏型薯當前界面

    QProcess::execute("……\\xx.exe");   //外部沒租喚程序所在路徑

}

② qt中如何運行外部程序,QProcess類

QT中使用QProcess啟用外部程序 啟用外部程序,並可傳參,默認第一個參數是exe路徑!啟動外部程序的方法有以下兩種: 1、start()void QProcess::start ( const QString & program, const QStringList & arguments, OpenMode mode = ReadWrite ) Starts the program program in a new process, passing the command line arguments in arguments. The OpenMode is set to mode. QProcess will immediately enter the Starting state. If the process starts successfully,QProcess will emit started(); otherwise, error() will be emitted.Note that arguments that contain spaces are not passed to the process as separate arguments.Windows: Arguments that contain spaces are wrapped in quotes.Note: Processes are started asynchronously, which means the started() and error() signals may be delayed. Call waitForStarted() to make sure the process has started (or has failed to start) and those signals have been emitted.See also pid(), started(), and waitForStarted(). 2、使用QProcess::execute(), 不過使用此方法時程序會最阻塞直到此方法執行的程序結束後返回,這時候可使用QProcess和QThread這兩個類結合使用的方法來處理,以防止在主 線程中調用而導致阻塞的情況 先從QThread繼承一個類,重新實現run()函數: 答:1、使用QProcess::startDetached()方法,啟動外部程序後立即返回; 2、使用QProcess::execute(),不過使用此方法時程序會最阻塞直到此方法執行的程序結束後返回,這時候可使用QProcess和QThread這兩個類結合使用的方法來處理,以防止在主線程中調用而導致阻塞的情況 先從QThread繼承一個類,重新實現run()函數:Quote:class MyThread : public QThread{public:void run(); };void MyThread::run(){QProcess::execute("notepad.exe");

③ Qt涓鏈変粈涔堢被鎴栬呭嚱鏁板彲浠ヨ幏鍙栫郴緇熻繘紼嬩俊鎮

QT涓浣跨敤QProcess鍚鐢ㄥ栭儴紼嬪簭鍚鐢ㄥ栭儴紼嬪簭錛屽苟鍙浼犲弬錛岄粯璁ょ涓涓鍙傛暟鏄痚xe璺寰勶紒鍚鍔ㄥ栭儴紼嬪簭鐨勬柟娉曟湁浠ヤ笅涓ょ嶏細1銆乻tart()void QProcess::start ( const QString & program, const QStringList & arguments, OpenMode mode = ReadWrite )Star...

④ Qt QProcess

本文介紹,在Linux環境下,使用Qt中的 QProcess 類執行shell命令並獲取輸出。
文件: #include <QProcess>

一、函數介面
QProcess 類提供了三個函數

二、執行命令
這里主要介紹 execute() 和 start() :

execute() 會將命令輸出直接列印到控制台,調用程序無法捕獲。

調用程序可通過 readAllStandardOutput() 捕獲shell命令的輸出

三、管 道
對於shell命令中的 | ,直接傳入參數是不行的。

以上的方式是無法執行的。
可以將整個命令作為 sh 的參數傳入 或 使用 QProcess::setStandardOutputProcess(QProcess *destination) 即將一個進程的標准輸出流傳入目標進程的標准輸入流

對於需要sudo許可權的命令,需要使用sudo許可權打開qtcreator,或者直接在命令前加上sudo(不建議)。

當然, QProcess 不僅僅可以執雀廳行shell命令旅早,也可以用於執行調拆歲雀用外部程序。

⑤ QT調用外部程序

1、通過調用Linux C 函數

    system("calc.exe");

2、通過碧梁QProcess 阻塞調用

    QProcess::execute("calc.exe");/QProcess::startDetached("calc.exe");

3、通過QProcess,非阻塞調用

    QProcess *pro = new QProcess;

    pro->start("calc.exe");

注釋:

1、前兩種方法會阻塞進程,直到計算器程序結束,而第三種方法則不會阻塞進程,可以多任務運行。

2、QT在運行的時候,要啟動qws服務尺虛,如果用前兩種方法,運行的時候,要新開啟一個qws,否則不能運行;而第三種方法,則不需要在開啟qws,他和主進程公用一個qws。

3、第三種雖然不會阻塞,但是有可能在終端上看不到列印出來的信息。所以要在終端顯示信息,可以考陵慧燃慮阻塞模式。

閱讀全文

與qprocess調用外部程序相關的資料

熱點內容
如何復制plc編程 瀏覽:55
缺少什麼樣的網站 瀏覽:890
建一個私彩網站多少錢 瀏覽:614
黑蘋果固態硬碟驅動程序 瀏覽:61
u盤文件過大不能復制 瀏覽:901
谷歌瀏覽器49版本 瀏覽:978
xp系統網路故障提示碼錯誤651 瀏覽:360
打開文件夾是有聲音了 瀏覽:539
圖片怎麼樣用文件夾發送 瀏覽:370
蘋果5屏幕跟波浪一樣 瀏覽:611
手機app違規到哪裡舉報 瀏覽:799
新時代說唱在哪個app上 瀏覽:273
電腦怎麼打開qq文件怎麼打開方式打開方式 瀏覽:766
蘋果數據遷移包含哪些內容 瀏覽:715
共享電車在哪些APP上打開 瀏覽:212
什麼叫航模編程 瀏覽:904
現在建一個網站多少錢 瀏覽:314
小米健康的運動數據在哪裡 瀏覽:582
win10如何添加受控制文件夾 瀏覽:652
微信加人對方沒有收到 瀏覽:869

友情鏈接