Я не знаю (и не могу догадаться), какой у вас класс Tray
.
Однако Qt
обычно завершает программу, когда закрывается последнее отображаемое окно (экземпляр QWidget
). Если не указано иное .
Если Tray
не является окном (дочерний класс QWidget
), то app.exec()
не имеет цикла обработки сообщений и немедленно возвращается, что приводит к завершению программы.
Что бы вы ожидали / что бы вы хотели, чтобы ваша программа делала в этот момент?
Не имеет прямого отношения, но все же важно:
Ваша main()
функция действительно должна возвращать статус выхода. Вы можете просто изменить свой main()
так, чтобы он выглядел следующим образом:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
Tray iets;
return app.exec(); // app.exec() returns an exit status.
}