QApplication::quit() не срабатывает? |
Здравствуйте, гость ( Вход | Регистрация )
QApplication::quit() не срабатывает? |
LE0N |
12.3.2009, 21:03
Сообщение
#1
|
Студент Группа: Участник Сообщений: 97 Регистрация: 10.3.2009 Из: Беларусь Пользователь №: 604 Спасибо сказали: 0 раз(а) Репутация: 0 |
В общем написал малюсенькую аппликуху. В которой имеется форма-матюкалка фатальных ошибок апликухи.
Которую показываю так
Хотелось бы, что бы после того, как отработает окно диалога (dlg->exec()) - т.е. закроется. Закрывалось всё приложение. QApplication::quit() вообще ни чего не делает. (По крайней мере этого не видно) QApplication::exit(-1) тоже.
Просто закрывает все окна. А процесс так и остаётся висеть..... В общем написал малюсенькую программку. В которой имеется форма-матюкалка фатальных ошибок апликухи. Которую показываю так
Хотелось бы, что бы после того, как отработает окно диалога (dlg->exec()) - т.е. закроется. Закрывалось всё приложение. QApplication::quit() вообще ни чего не делает. (По крайней мере этого не видно) QApplication::exit(-1) тоже.
Просто закрывает все окна. А процесс так и остаётся висеть..... ВЦ. Где кнопка редактировать? |
|
|
LE0N |
12.3.2009, 21:25
Сообщение
#2
|
Студент Группа: Участник Сообщений: 97 Регистрация: 10.3.2009 Из: Беларусь Пользователь №: 604 Спасибо сказали: 0 раз(а) Репутация: 0 |
Так в том то и дело, я хочу что бы СРАЗУ после FatalMsg::display, закрывалось всё приложение!
Может исключение какое выбрсить можно, аль ещё чего? QApplication::closeAllWindows(); Как я уже и говорил, закрывает все окна, только в не зависимости от настройки setQuitOnLastWindowClosed(true), процесс остаётся висеть.... |
|
|
BRE |
12.3.2009, 21:36
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
Так в том то и дело, я хочу что бы СРАЗУ после FatalMsg::display, закрывалось всё приложение! Может исключение какое выбрсить можно, аль ещё чего? QApplication::closeAllWindows(); Как я уже и говорил, закрывает все окна, только в не зависимости от настройки setQuitOnLastWindowClosed(true), процесс остаётся висеть.... Ты запускаешь process, еще до запуска цикла обработки событий (который запускается a.exec()), поэтому quit() и не отрабатывает, ему еще останавливать нечего. Есть жОсткий метод: добавь ::exit( 0 ) в функцию display (после qApp->quit() или вместо). А по хорошему, вызывай display после запуска цикла событий. Сообщение отредактировал BRE - 12.3.2009, 21:38 |
|
|
Текстовая версия | Сейчас: 28.12.2024, 12:05 |