void OBJ_Loader::on_actionOpen_triggered()
{
QString filename = QFileDialog::getOpenFileName(this, tr("Open a File"));
if (!filename.isEmpty()) {
filepath=filename.toUtf8().constData();
command.append(filepath);
int TempNumOne=command.size();
for (int a=0;a<=TempNumOne;a++) { //get letters to a char list so it can be used by system();
cmd[a]=command[a];
}
openfile=true;
if (openfile) {
openfile=false;
system(cmd);
}
}
}
Когда система (cmd); называется QFileDialog окно не закрывается, пока не завершится системная команда. Я хотел бы знать, смогу ли я закрыть окно поиска после нажатия кнопки «Открыть».
system
Функция блокирует цикл событий: взаимодействие с пользователем требует запуска цикла событий, и он запускается, когда ваш код не работает. Так как system
Вызов в вашем коде, вы не можете просто заблокировать ваш процесс. Вам нужно использовать QProcess
так как имеет асинхронный интерфейс. Этот ответ предоставляет полный пример одного процесса, вызывающего себя — все это делается из одного исполняемого файла.