qApp->quit();(по моей памяти и моим представлениям, возможно ошибочным) qApp->quit() не работает вне запущенного цикла событий ("eventloop"). Или (что в принципе аналогично) не работает для "не-запущенного qApp". (
надеюсь вам понятно что ваша a и qApp - это одно и то же?)
Более того - вы в конце вашего майна, фактически его(цикл событий и прилжение) и запускаете:
return a.exec();нестыковка понятна?
Нельзя, там же надо сначала отправить запрос, а он без exec() не уйдет. Наверное нужно перехватывать сигнал об удачной отправке и там quit()
какой вывод? меняйте архитектуру приложения.
Выносите вашу полезную функциональность в отдельный класс, его объект создавайте в майне, подключайте к нему сигналы об окончании обработки и в них уже делайте "qApp->quit();".
А что бы класс начал гарантировано обрабатывать сразу после запуска цикла событий - создайте класс initSender с единственным сигналом, который подключите к слоту вашего "бизнес-класса" содержащему нужную функциональность, и подключите его через "квотед-коннекшн". В initSender создайте процедуру которая испускает сигнал, и вызовите её в майне перед "return a.exec();".
т.к. это квотедконнекшн - сигнал будет доставлен только после запуска цикла событий - а именно - практически сразу после (
внутри) a.exec().