Qt5: как пакетировать процесс с помощью QProcess - PullRequest
0 голосов
/ 25 января 2019

Я хочу позволить QProcess запускать много команд за раз, а не по одной за раз.

void Route::add_route()
{
    QProcess *Add_route = new QProcess(this);
    Add_route->start("notepad",QStringList() << "interface" << "ipv4" << "set" << "interface" << "" << "metric=1");
    Add_route->start("explorer",QStringList() << "interface" << "ipv6" << "set" << "interface" << "" << "metric=1");
    Add_route->waitForFinished();
}

Используя это, он будет запускать только первую.
Ps: I 'Я использую блокнот и проводник только для теста
Спасибо!

Ответы [ 2 ]

0 голосов
/ 25 января 2019

QProcess, как следует из названия, представляет один процесс, а не несколько.Таким образом, ваше требование запустить два процесса с использованием одного QProcess объекта является ошибочным.

У вас есть два варианта:

0 голосов
/ 25 января 2019

QProcess имеет функцию-член startDetached().Используйте один QProcess для каждого процесса, который вам нужно запустить, а не один QProcess для всех процессов.Смотри http://doc.qt.io/qt-5/qprocess.html#startDetached

...