Проблема заключается в следующем: если приложение закрывается, когда оно ничего не делает активно, оно завершается правильно. Однако, если он активно работает над чем-то (например, ждет в цикле while), главное окно закроется, но программа продолжит работать в фоновом режиме, что подтверждается открытием диспетчера задач.
Я потратил большую часть сегодняшнего дня на поиски проблемы и возможные исправления, но безрезультатно. Похоже, что функция quit () просто ничего не делает. Вот некоторые вещи, которые я пробовал:
app.connect (& app, SIGNAL (lastWindowClosed ()), & app, SLOT (quit ()));
. Я знаю, что сигнал срабатывает, потому что я попытался изменить & app, SLOT (quit ())
на qApp, SLOT (aboutQt ())
, и на короткое время появилось окно aboutQt. qApp-> quit ();
в начале функции, которая запускается с помощью кнопки главного окна. Приложение запускается до этой строки, но не имеет никакого эффекта. processEvents ()
, чтобы убедиться, что графический интерфейс обновляется. mainWindow.setAttribute (Qt :: WA_QuitOnClose);
в main.cpp. Я просто хочу, чтобы приложение полностью закрылось при закрытии главного окна.
Я использую библиотеку qextserialport, если это имеет значение.