Qt中利用QProcess调用外部cmd.exe执行程序
生活随笔
收集整理的這篇文章主要介紹了
Qt中利用QProcess调用外部cmd.exe执行程序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、#include "mainwindow.h"中
添加頭文件:
#include <QProcess>添加成員:
QProcess *myprocess;?添加槽函數聲明:
void showCMDResult(); void showCMDState(QProcess::ProcessState state); void showCMDError(); void showCMDFinished(int exitCode, QProcess::ExitStatus exitStatus);2、mainwindow.cpp中
構造函數中實例化:
myprocess = new QProcess;添加槽函數:
connect(myprocess, SIGNAL(readyRead()), this, SLOT(showCMDResult())); connect(myprocess, SIGNAL(stateChanged(QProcess::ProcessState)),this, SLOT(showState(QProcess::ProcessState))); connect(myprocess, SIGNAL(error(QProcess::ProcessError)),this, SLOT(showCMDError())); connect(myprocess, SIGNAL(finished(int,QProcess::ExitStatus)),this, SLOT(showCMDFinished(int, QProcess::ExitStatus)));實現槽函數:
void MainWindow::showCMDResult() {QString strTemp=QString::fromLocal8Bit(myprocess->readAll());ui->textEdit->append(strTemp); }void MainWindow::showCMDState(QProcess::ProcessState state) {if(state==QProcess::NotRunning)qDebug() << "Not Running";else if(state==QProcess::Starting)?qDebug() << "Starting";;elseqDebug() << "Running"; }void MainWindow::showCMDError() {ui->textEdit->append(myprocess->errorString()); }void MainWindow::showCMDFinished(int exitCode, QProcess::ExitStatus exitStatus) {ui->textEdit->append(QString("啟動結束:").append("退出代碼:").append(QString::number(exitCode)).append("退出狀態:").append(QString::number((uint)exitStatus))); }??? ??3、啟動cmd.exe
QStringList argument; argument<<"/C"<<"python"<<ui->lineEdit_filepath->text()<<ui->lineEdit_inputpara->text(); myprocess->start("cmd.exe",argument); ui->textEdit->append("啟動cmd.exe"); // 等待進程啟動 if (!myprocess->waitForStarted()) {ui->textEdit->append("啟動失敗");return; }????
總結
以上是生活随笔為你收集整理的Qt中利用QProcess调用外部cmd.exe执行程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 强强联合!蚂蚁金服与新炬网络战略合作,共
- 下一篇: 开发过程中的版本