Проблема закрытия консольной Qt-программы

У многих возникает такая проблема.

У объекта QCoreApplication есть функции quit() и exit(), но не имеет смысла их вызывать до вызова exec().

Следующий код закроет программу сразу после вызова функции exec(). На помощь приходит QTimer.

#include <QtCore/QCoreApplication>
#include <QTimer>

int main(int argc, char *argv[])
{
  QCoreApplication a(argc, argv);
  // ...
  QTimer::singleShot(0, &a, SLOT(quit()));
  // ...
  return a.exec();
}

Автор

Дмитрий Бравиков

Инженер. Электронщик. Программист.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.