int main(int argc, char** argv)
{
QApplicaiton app(argc, argv);
// parsing other arguments of argc,argv
return app.exec();
}
Моя проблема заключается в следующем: функция может быть возвращена во время анализа других аргументов (без достижения app.exec()), и когда объект QApplication удаляется, я получаю следующее сообщение об ошибке QThread: Destroyed while thread is still running
. В качестве возможного решения я пытаюсь создать QApplication после завершения синтаксического анализа аргументов.
Я пробовал app.thread()->quit();
перед оператором возврата, но это не помогает.
Когда создается объект QApplication, он удаляет определенные аргументы (стиль и т. д.) из argc, argv.
Можно ли получить их из argc, argv вручную, не создавая объект QApplication?
Странно, что в однопоточной программе я получаю ошибку QThread: Destroyed while thread is still running
.
Лучшее "решение", которое я нашел до сих пор, - это динамически создавать QApplication, а не удалять его. Утечка памяти не является проблемой, потому что она происходит непосредственно перед выходом из программы.
QFileSystemWatcher
и некоторые сетевые классы), поэтому ваше приложение может не обязательно быть однопоточным. - person RA.   schedule 06.09.2016