Приложение Qt остается в памяти даже после закрытия MainWindow

Проблема заключается в следующем: если приложение закрывается, когда оно ничего не делает активно, оно завершается правильно. Однако, если он активно работает над чем-то (например, ждет в цикле 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, если это имеет значение.

6
задан lpapp 27 September 2013 в 06:06
поделиться