Класс QCloseEvent
Класс QCloseEvent содержит параметры, описывающие событие закрытия. Подробнее...
| Заголовок: | #include <QCloseEvent> |
| qmake: | QT += gui |
| Наследует: | QEvent |
Открытые функции
| QCloseEvent() |
- 6 открытых функций унаследовано от QEvent
Дополнительные унаследованные члены
Подробное описание
Класс QCloseEvent содержит параметры, описывающие событие закрытия.
События закрытия отправляются виджетам, которые пользователь хочет закрыть, обычно выбрав «Закрыть» из меню окна или нажав кнопку X на строке заголовка. Они также отправляются при вызове QWidget::close() для закрытия виджета программно.
События закрытия содержат флаг, указывающий, хочет ли получатель, чтобы виджет был закрыт. Когда виджет принимает событие закрытия, он скрывается (и уничтожается, если он был создан с флагом Qt::WA_DeleteOnClose). Если он отказывается принять событие закрытия, ничего не происходит. (Под X11 возможно, что менеджер окон принудительно закроет окно; но на момент написания нам неизвестен ни один менеджер окон, который делает это.)
Обработчик событий QWidget::closeEvent() получает события закрытия. По умолчанию этот обработчик событий принимает событие закрытия. Если вы не хотите, чтобы ваш виджет скрывался, или хотите выполнить особую обработку, вы должны переопределить обработчик событий и ignore() событие.
Пример closeEvent() в примере Приложения демонстрирует обработчик событий закрытия, который спрашивает, нужно ли сохранять документ перед закрытием.
Если вы хотите, чтобы виджет удалялся при его закрытии, создайте его с флагом Qt::WA_DeleteOnClose. Это очень полезно для независимых окон верхнего уровня в приложении с несколькими окнами.
QObject излучает сигнал destroyed() при удалении.
Если последнее окно верхнего уровня закрыто, излучается сигнал QGuiApplication::lastWindowClosed().
Функция isAccepted() возвращает true, если получатель события согласился закрыть виджет; вызовите accept() для согласия на закрытие виджета и вызовите ignore(), если получатель этого события не хочет, чтобы виджет был закрыт.
См. также QWidget::close(), QWidget::hide(), QObject::destroyed(), QCoreApplication::exec(), QCoreApplication::quit() и QGuiApplication::lastWindowClosed().
Документация по членам-функциям
QCloseEvent::QCloseEvent()
Создаёт объект события закрытия.
См. также accept().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qcloseevent.html