日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Qt之QProcess(一)运行cmd命令

發布時間:2023/12/19 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt之QProcess(一)运行cmd命令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Qt提供了QProcess類,QProcess可用于完畢啟動外部程序,并與之交互通信。

一、啟動外部程序的兩種方式:
(1)一體式:void QProcess::start(const QString & program, const QStringList & arguments, OpenMode mode = ReadWrite)
外部程序啟動后。將隨主程序的退出而退出。
(2)分離式:void QProcess::startDetached(const QString & program, const QStringList & arguments, const QString & workingDirectory = QString(), qint64 * pid = 0)
外部程序啟動后,當主程序退出時并不退出。而是繼續執行。

值得注意的是。當程序路徑中含有空格的時候,僅設置程序路徑program是無法被識別的。解決方法是再將程序路徑傳遞給arguments。

比如:

//1-不帶空格。能夠啟動 process->start("F:/AppInst/115/115com/115com.exe");//2-帶空格,無法啟動 process->start("C:/Program Files/HaoZip/HaoZip.exe");//3-帶空格,使用帶參模式。能夠啟動 process->start("C:/Program Files/HaoZip/HaoZip.exe", QStringList("C:/Program Files/HaoZip/HaoZip.exe"));

二、啟動之前須要做的工作:
To start a process, pass the name and command line arguments of the program you want to run as arguments to start(). Arguments are supplied as individual strings in a QStringList.
啟動一個外部程序,須要傳遞外部程序的路徑和運行參數。參數用QStringList來帶入。

(1)設置路徑: void QProcess::setProgram(const QString & program)
(2)設置參數[可選]: void QProcess:: setArguments(const QStringList &
arguments)
(3)啟動: void QProcess::start(OpenMode mode =
ReadWrite)

Qt運行cmd命令

界面上添加一個button,一個textedit,一個lineedit

void MainWindow::on_pushButton_clicked() {ui->textEdit->clear();QProcess process(this);process.setProgram("cmd");QStringList argument;argument<<"/c"<<ui->lineEdit->text();process.setArguments(argument);process.start();process.waitForStarted(); //等待程序啟動process.waitForFinished();//等待程序關閉QString temp=QString::fromLocal8Bit(process.readAllStandardOutput()); //程序輸出信息ui->textEdit->setText(temp); }

注意:直接Process.start(“cmd.exe”)跳不出cmd界面
Process.start(“regedit.exe”)能跳出注冊表界面

總結

以上是生活随笔為你收集整理的Qt之QProcess(一)运行cmd命令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。