Я делаю программу на C ++ с графическим интерфейсом на Qt, используя qtcreator, она еще не завершена, но когда я собираю и запускаю для тестирования программы, которую она запускает, тогда, если я нажимаю кнопки, которые открывают файл или что-то записывают в файл, кнопка делает это и затем программа зависает. Почему это происходит, что я делаю не так или в чем проблема.
В основном это замораживает в этих двух функциях:
void MainWindow::on_kmpOpenButton_clicked()
{
QString kmplayerloc = "\"F:\\Program Files\\The KMPlayer\\KMPlayer.exe\"";
QProcess::execute(kmplayerloc);
}
void MainWindow::on_nbopenbutton_clicked()
{
// Remember tha if you have to insert " in a string \"....location of file or anything u want to put.......\"QString netbeansloc = "\"F:\\Program Files\\NetBeans 7.4\\bin\\netbeans.exe\"";
QProcess::execute(netbeansloc);
}
От документация
Запускает программу программа [..] в новом
процесс, ждет его окончания, а затем возвращает код выхода
процесс.
Вызывающий поток останавливается до завершения внешнего процесса. Если вы не хотите этого, используйте метод start
или же startDetached
,
Других решений пока нет …