Как на Qt с помощью созданой програмы запустить другую программу

Рейтинг: 0Ответов: 1Опубликовано: 09.04.2015

Я пытался запустить программу к примеру tetris.exe но у меня не вышло вот код в чем ошибка первый вариант.

#include <QtCore/QCoreApplication>
#include <QProcess>
#include <QDebug>

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QProcess prog;
prog.start("tetrix");
prog.waitForFinished();
qDebug() << prog.exitCode();
return a.exec();
 }

Второй вариант

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QProcess prog;
prog.setWorkingDirectory("/home/timob/WORK/delo/Obuch1/");
prog.startDetached("tetrix");
prog.waitForFinished();
qDebug() << prog.exitCode();
return a.exec();
}

Программа написана в убунту , цель запустить .exe фаил . При запуске выводит фразу "не известная ошибка" но при этом компилируется . Попытался собрать программу в винде (в общем портировал как положено с изменение к о обращению к файла и проходу к папке как принято в винде) в общем тоже самое только он запускает мне терминал, при том что мне нужно запустить .exe фаил.

Ответы

▲ 1

У меня работает так:

QProcess *process = new QProcess(this);
QString file = QDir::homepath + "/file.exe";
process->start(file);