Класс QCloseEvent
Класс QCloseEvent содержит параметры, описывающие событие закрытия. Подробнее...
| Заголовок: | #include <QCloseEvent> |
| qmake: | QT += gui |
| Наследует: | 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/qt-5.14/qcloseevent.html