crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QApplication::quit() не срабатывает?
LE0N
  опции профиля:
сообщение 12.3.2009, 21:03
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 97
Регистрация: 10.3.2009
Из: Беларусь
Пользователь №: 604

Спасибо сказали: 0 раз(а)




Репутация:   0  


В общем написал малюсенькую аппликуху. В которой имеется форма-матюкалка фатальных ошибок апликухи.
Которую показываю так
FatalMsg::display(QString &);

Хотелось бы, что бы после того, как отработает окно диалога (dlg->exec()) - т.е. закроется. Закрывалось всё приложение.
QApplication::quit() вообще ни чего не делает. (По крайней мере этого не видно)
QApplication::exit(-1) тоже.
QApplication a(argc, argv);
a.setQuitOnLastWindowClosed(true);
#######
#######
#В функции FatalMsg::display()
QApplication::closeAllWindows();

Просто закрывает все окна. А процесс так и остаётся висеть.....

Цитата(LE0N @ 12.3.2009, 20:00) *
В общем написал малюсенькую программку. В которой имеется форма-матюкалка фатальных ошибок апликухи.
Которую показываю так
FatalMsg::display(QString &);

Хотелось бы, что бы после того, как отработает окно диалога (dlg->exec()) - т.е. закроется. Закрывалось всё приложение.
QApplication::quit() вообще ни чего не делает. (По крайней мере этого не видно)
QApplication::exit(-1) тоже.
QApplication a(argc, argv);
a.setQuitOnLastWindowClosed(true);
#######
#######
#В функции FatalMsg::display()
QApplication::closeAllWindows();

Просто закрывает все окна. А процесс так и остаётся висеть.....



ВЦ. Где кнопка редактировать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
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  


Цитата(LE0N @ 12.3.2009, 21:25) *
Так в том то и дело, я хочу что бы СРАЗУ после FatalMsg::display, закрывалось всё приложение!
Может исключение какое выбрсить можно, аль ещё чего?
QApplication::closeAllWindows();
Как я уже и говорил, закрывает все окна, только в не зависимости от настройки setQuitOnLastWindowClosed(true), процесс остаётся висеть....

Ты запускаешь process, еще до запуска цикла обработки событий (который запускается a.exec()), поэтому quit() и не отрабатывает, ему еще останавливать нечего. Есть жОсткий метод: добавь ::exit( 0 ) в функцию display (после qApp->quit() или вместо).
А по хорошему, вызывай display после запуска цикла событий.

Сообщение отредактировал BRE - 12.3.2009, 21:38
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- LE0N   QApplication::quit() не срабатывает?   12.3.2009, 21:03
- - panter_dsd   Приведи побольше кода. ЦитатаВЦ. Где кнопка редакт...   12.3.2009, 21:05
- - LE0N   main Раскрывающийся текстint main(int argc, ch...   12.3.2009, 21:11
- - panter_dsd   Так w остается висеть... Попробуй Loader:...   12.3.2009, 21:20
- - LE0N   Так в том то и дело, я хочу что бы СРАЗУ после Fat...   12.3.2009, 21:25
|- - BRE   Цитата(LE0N @ 12.3.2009, 21:25) Так в том...   12.3.2009, 21:36
- - LE0N   Не помогло. А как начать обработку ПОСЛЕ a.exec ? ...   12.3.2009, 21:40
|- - BRE   Цитата(LE0N @ 12.3.2009, 21:40) Не помогл...   12.3.2009, 21:55
- - LE0N   Мне не нужно через задницу. Мне нужен толковый спо...   12.3.2009, 22:07
|- - BRE   Цитата(LE0N @ 12.3.2009, 22:07) Мне не ну...   12.3.2009, 22:12
- - LE0N   Нет. Работы после МНОГО. В том числе и работа с фо...   12.3.2009, 22:17
|- - BRE   Цитата(LE0N @ 12.3.2009, 22:17) Нет. Рабо...   12.3.2009, 22:21
- - LE0N   Цитатаreturn; } // Дальнейшая работа Посл...   12.3.2009, 22:30
|- - BRE   Цитата(LE0N @ 12.3.2009, 22:30) Давайте п...   12.3.2009, 22:35
- - SABROG   Я вот чего понять не могу. Если класс с проверкой ...   12.3.2009, 23:20
- - LE0N   Цитата(SABROG @ 13.3.2009, 2:20) Я вот че...   13.3.2009, 0:38
- - Litkevich Yuriy   Цитата(LE0N @ 13.3.2009, 3:38) Блин...Дай...   13.3.2009, 15:21
- - LE0N   Да я знаю, что есть. Иногда мне проще вручную набр...   13.3.2009, 15:39
- - AlexRass   Добавь свой сигнал и эмитируй где тебе надо. Соеди...   16.3.2009, 19:34


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.12.2024, 12:05