1. 程式人生 > >QT 啟動並關閉外部程式 並傳參

QT 啟動並關閉外部程式 並傳參

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QString>
#include <QProcess>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    QStringList arguments;//用於傳引數
    QString program = "D:\\SoftWare\\MobileRobots\\MobileSim\\MobileSim.exe"; //外部程式地址
    arguments << "-m" << "D:\\SoftWare\\MobileRobots\\Aria\\maps\\Map0.map" << "-r" <<"p3dx:robot1"<< "-r" <<"p3dx:robot2"<< "-r" <<"p3dx:robot3"; //程式需要傳的引數 地圖 機器人的數量
    QProcess process(this);
    process.startDetached(program, arguments);//啟動程式
    //process.close();


   方法二
    QProcess *process = new QProcess(this);
    process->start(program, arguments);
    process->close();

}