Способы выполнения системных команд в программе qt без открытия окна консоли - PullRequest
0 голосов
/ 15 апреля 2019

Я использую system() для перемещения файлов в qt. Это приводит к миганию консольных окон. Есть ли способ остановить открытие и закрытие (мигание) консольных окон или альтернативные способы для system() скрытия консольных окон.

buffer = QString("move \"%2\\*.ico\" \"%2\\%1\" 2>nul")
                  .arg(images).arg(dir);
qPrintable(buffer);
system(qPrintable(buffer));

buffer = QString("move \"%2\\*.jpg\" \"%2\\%1\" 2>nul")
                  .arg(images).arg(dir);
system(qPrintable(buffer));
buffer = QString("move \"%2\\*.jpeg\" \"%2\\%1\" 2>nul")
                  .arg(images).arg(dir);
system(qPrintable(buffer));
buffer = QString("move \"%2\\*.png\" \"%2\\%1\" 2>nul")
                  .arg(images).arg(dir);
system(qPrintable(buffer));

Здесь% 2 - это каталог, а% 1 - это введенное имя папки.

1 Ответ

0 голосов
/ 15 апреля 2019

Один из вариантов - использовать QProcess для запуска внешних команд.

Пример:

QString program = "move";
QStringList args;
args << QString("\"%1\\*.ico\"").arg(dir);
args << QString("\"%1\\%2\"").arg(dir).arg(images);
QProcess::execute(program, args);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...