QCloseEvent 类包含关闭事件描述参数。 更多...
头: | #include <QCloseEvent> |
CMake: |
find_package(Qt6 COMPONENTS Gui REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
继承: | QEvent |
QCloseEvent () |
关闭事件会被发送给用户想要关闭的 Widget,通常是从窗口菜单选择 Close,或点击 X 标题栏按钮。也会发送它们当调用 QWidget::close () 以编程方式关闭 Widget。
关闭事件包含指示接收者是否想要关闭 Widget 的标志。当 Widget 接受关闭事件时,它被隐藏 (并被销毁,若创建它是采用 Qt::WA_DeleteOnClose 标志)。若它拒绝接受关闭事件,什么都不发生 (在 X11,窗口管理器强制关闭窗口是可能的;但在编写本文时,我们还不知道有任何窗口管理器可以做到这)。
事件处理程序 QWidget::closeEvent () 接收关闭事件。此事件处理程序的默认实现接受关闭事件。若不想要 Widget 被隐藏,或想要一些特殊处理,应重实现事件处理程序并 ignore () 事件。
应用程序范例中的 closeEvent() 展示关闭事件处理程序,在关闭前询问是否要保存文档。
若想要删除 Widget 当关闭它时,创建它采用 Qt::WA_DeleteOnClose 标志。这对于在多窗口应用程序中的独立顶层窗口非常有用。
QObject 发射 destroyed() 信号当删除它们时。
若最后顶层窗口被关闭, QGuiApplication::lastWindowClosed () 信号被发射。
isAccepted
() 函数返回
true
若事件接收者已同意关闭 Widget;调用
accept
() 以同意关闭 Widget 和调用
ignore
() 若此事件的接收者不想要 Widget 被关闭。
另请参阅 QWidget::close (), QWidget::hide (), QObject::destroyed (), QCoreApplication::exec (), QCoreApplication::quit (),和 QGuiApplication::lastWindowClosed ().
构造关闭事件对象。
另请参阅 accept ().