如何建设网页制作的网站,十大经典广告营销案例,一般做网站要多少钱,搬瓦工vps建设网站一、说明 
简单使用#xff1a;在一个函数中#xff0c;使用QProcess类的临时对象调用可执行文件exe#xff0c;只有这个exe执行完了#xff0c;这个函数才往下执行#xff0c;一次性打印出exe所有输出信息#xff1b;复杂使用#xff1a;创建QProcess类的全局对象…一、说明 
简单使用在一个函数中使用QProcess类的临时对象调用可执行文件exe只有这个exe执行完了这个函数才往下执行一次性打印出exe所有输出信息复杂使用创建QProcess类的全局对象在一个函数中调用可执行文件exe不用等exe执行完这个函数就可以往下执行实时打印输出相关信息 
注此文讲解简单使用方式复杂使用方式见下一篇。 
二、创建项目 
新建一个Qt项目选择“其他项目”、“子目录项目”点击“Choose” 更改项目名称和位置 选择编译器 默认 三、创建被调用的可执行文件 
点击上一步的“完成添加子项目”完成项目创建并开始创建子项目弹出界面选择“Application”、“Qt Console Application” 更改子项目名称 默认 选择编译器 默认点击完成 在test.pro中添加如下代码更改可执行文件生成位置 
CONFIG(debug , debug | release) {
win32:!wince{DESTDIR  $$PWD/../bin_debug
}
unix {DESTDIR  $$PWD/../bin_debug_linux
}
} else {
win32:!wince{DESTDIR  $$PWD/../bin_release
}
unix {DESTDIR  $$PWD/../bin_release_linux
}
}更改main.cpp中的代码 
#include QCoreApplication
#include iostream
#include QThread
using namespace std;/*
* argc表示传入main函数的数组元素个数
* argv表示传入main函数的指针数组
* 第一个数组元素argv[0]程序名称
*/
/**
* brief main 主函数
* param argc 传入main函数的参数个数argv的数量
* param argv 传入main函数的参数数组第一个数组元素argv[0]程序名称
* return
*/
int main(int argc, char *argv[])
{//QCoreApplication a(argc, argv);for(int i  0; i  argc; i){cout  argv[i]  endl;QThread::msleep(1);}return 0;//return a.exec();
} 
构建生成可执行文件 四、调用可执行文件 
右击项目名称选择“新子项目” 选择“Application”、“Qt Widgets Application” 更改子项目名称 默认 点击完成 在SimpleUse.pro中添加如下代码更改可执行文件生成位置 
CONFIG(debug , debug | release) {
win32:!wince{DESTDIR  $$PWD/../bin_debug
}
unix {DESTDIR  $$PWD/../bin_debug_linux
}
} else {
win32:!wince{DESTDIR  $$PWD/../bin_release
}
unix {DESTDIR  $$PWD/../bin_release_linux
}
} 
在mainwindow.ui界面上添加一个QPushButton并转到槽 
更改mainwindow.cpp中的代码 
#include mainwindow.h
#include ui_mainwindow.h
#include QProcess
#include QDebug
MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{ui-setupUi(this);
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::on_pushButton_clicked()
{QProcess p;QString program  QApplication::applicationDirPath()  /test.exe; //要运行的外部程序QStringList argument;argument  11  22  33;  //给外部程序传递的参数p.start(program, argument);if(!p.waitForStarted()) //等待程序启动{qDebug()  程序启动失败  program  p.readAllStandardOutput(); //程序输出信息p.close();return;}if(!p.waitForFinished(100000))//等待10000ms程序未结束返回false{qDebug()  程序结束失败  p.readAllStandardOutput(); //程序输出信息p.close();return;}qDebug()  程序结束  p.readAllStandardOutput(); //程序输出信息p.close();
} 
五、运行测试 
运行SimpleUse程序点击pushButton打印框输出如下内容 六、使用命令提示符cmd调用可执行文件 QProcess p;p.setProgram(cmd);QString program  QApplication::applicationDirPath()  /test.exe;QStringList argument;argument/c program  11  22  33;p.setArguments(argument);p.start();if(!p.waitForStarted()) //等待程序启动{qDebug()  程序启动失败  program  p.readAllStandardOutput(); //程序输出信息p.close();return;}if(!p.waitForFinished(100000))//等待10000ms程序未结束返回false{qDebug()  程序结束失败  p.readAllStandardOutput(); //程序输出信息p.close();return;}qDebug()  程序结束  p.readAllStandardOutput(); //程序输出信息p.close();