Russian Qt Forum
Ноябрь 01, 2024, 03:33
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
Обработка завершения приложения
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Обработка завершения приложения (Прочитано 3640 раз)
once_again_abc
Гость
Обработка завершения приложения
«
:
Ноябрь 09, 2011, 08:46 »
Есть ли в кьюте надежный и удобный механизм перехвата и обработки завершения приложения, например в результате краха или если пользователь нажимает крестик "Close" в правом верхнем углу главного окна и т.д.?
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Обработка завершения приложения
«
Ответ #1 :
Ноябрь 09, 2011, 09:56 »
Цитата: once_again_abc от Ноябрь 09, 2011, 08:46
Есть ли в кьюте надежный и удобный механизм перехвата и обработки завершения приложения, например в результате краха
"Надёжность" и "крах" вещи по определению не совместимые.
Цитировать
или если пользователь нажимает крестик "Close" в правом верхнем углу главного окна и т.д.?
Код
C++ (Qt)
void
QApplication
::
lastWindowClosed
(
)
[
signal
]
Записан
Qt 5.11/4.8.7 (X11/Win)
Blackwanderer
Гость
Re: Обработка завершения приложения
«
Ответ #2 :
Ноябрь 09, 2011, 10:01 »
Для обработки крестика есть сигнал QApplication::lastWindowClosed()
По поводу краха - тут все зависит от того, что за крах. На какие-то случаи есть соответствующие сигналы соответствующих классов Qt, на остальные - механизм исключений C++.
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Обработка завершения приложения
«
Ответ #3 :
Ноябрь 09, 2011, 10:21 »
Цитата: Черный Странник от Ноябрь 09, 2011, 10:01
По поводу краха - тут все зависит от того, что за крах. На какие-то случаи есть соответствующие сигналы соответствующих классов Qt, на остальные - механизм исключений C++.
Ну-ка ну-ка проясни - какие для этого есть "соответствующие сигналы" и чем тебе они и исключения C++ помогут, например, когда у тебя напрочь будет побит стэк?
Записан
Qt 5.11/4.8.7 (X11/Win)
once_again_abc
Гость
Re: Обработка завершения приложения
«
Ответ #4 :
Ноябрь 09, 2011, 10:24 »
Цитата: GreatSnake от Ноябрь 09, 2011, 09:56
Цитата: once_again_abc от Ноябрь 09, 2011, 08:46
Есть ли в кьюте надежный и удобный механизм перехвата и обработки завершения приложения, например в результате краха
"Надёжность" и "крах" вещи по определению не совместимые.
Цитата: once_again_abc от Ноябрь 09, 2011, 08:46
надежный
и удобный
механизм перехвата
...
краха
=)
«
Последнее редактирование: Ноябрь 09, 2011, 10:26 от once_again_abc
»
Записан
once_again_abc
Гость
Re: Обработка завершения приложения
«
Ответ #5 :
Ноябрь 09, 2011, 10:25 »
Цитата: GreatSnake от Ноябрь 09, 2011, 10:21
Цитата: Черный Странник от Ноябрь 09, 2011, 10:01
По поводу краха - тут все зависит от того, что за крах. На какие-то случаи есть соответствующие сигналы соответствующих классов Qt, на остальные - механизм исключений C++.
Ну-ка ну-ка проясни - какие для этого есть "соответствующие сигналы" и чем тебе они и исключения C++ помогут, например, когда у тебя напрочь будет побит стэк?
мне не важно какой крах. мне важно остановить ядерную реакцию, чтобы не бабахнуло. хрен с ним с приложением и операционкой, но мне надо 100% гарантировано успеть перевести устройство в безопасный режим.
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Обработка завершения приложения
«
Ответ #6 :
Ноябрь 09, 2011, 10:29 »
Этим я тебе пытался сказать, что надёжного и удобного и простого механизма перехвата не существует.
Единственный надёжный способ - это написать приложение-запускальщик, которое будет запускать основное приложение и следить за его завершением и делать соответствующие дела при падении основного приложения.
Записан
Qt 5.11/4.8.7 (X11/Win)
once_again_abc
Гость
Re: Обработка завершения приложения
«
Ответ #7 :
Ноябрь 09, 2011, 10:35 »
Цитата: GreatSnake от Ноябрь 09, 2011, 10:29
Этим я тебе пытался сказать, что надёжного и удобного и простого механизма перехвата не существует.
Единственный надёжный способ - это написать приложение-запускальщик, которое будет запускать основное приложение и следить за его завершением и делать соответствующие дела при падении основного приложения.
согласен.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...