在Qt中运行带有可变参数的不同应用程序

时间:2013-05-13 08:09:47

标签: qt

我正在使用Qt为项目开发GUI,我需要浏览一个文件并在编辑器中打开它。我编写了代码来浏览文件,但我不知道如何在geany上打开相同的文件名。如果有人能帮我解决这个问题会很棒。

#include "check.h"
#include "ui_check.h"
#include <QFileDialog>
#include <QProcess>

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

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

void check::on_pushButton_clicked()
{
    QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), "/home",      tr("Files (*.*)"));
    ui->filePath->setText(fileName);
    QProcess *OpenFile = new QProcess(this);
    OpenFile->start("geany fileName"); //but this opens a file by name fileName.
}

1 个答案:

答案 0 :(得分:4)

最好的方法是使用start(QString可执行文件,QStringList参数)重载,因为它可以在可执行文件和参数中引用空格。在你的情况下,那将是

OpenFile->start("geany", QStringList() << fileName);