Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Предупреждение после закрытия программы


Автор: gordmiand 24.1.2013, 09:19
connect(this, SIGNAL(sigClose()), qApp, SLOT(quit()));
по онклику кнопки испускаю сигнал  sigClose() — программа завершается с кодом 0 (что верно), но с сообщением:

Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt. You must
reimplement QApplication::notify() and catch all exceptions there.


Если выходить, например, по Alt/F4 (хотя тоже иногда выдается такое сообщение) или остановкой программы (из-под Qt-креатора), то программа чистенько завершается...Подскажите пож-та что это за предупреждение и в чем у меня некорректное закрытие программы (программа достаточно большая: многопоточная и с графикой)...использую Qt версии 4.6.1, операционка — Ubuntu 12.04. 

Автор: borisbn 24.1.2013, 09:34
Цитата(gordmiand @  24.1.2013,  09:19 Найти цитируемый пост)
программа достаточно большая: многопоточная и с графикой

ИМХО проблема в завершении потоков. Ты для всех потоков вызываешь wait() ? Ты точно нигде из потока не обращаешься к GUI напрямую ?

Автор: gordmiand 24.1.2013, 21:01
я для потоков вызываю(ал) terminate(), заменил на wait() - вроде все нормально работает... 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)