QCloseEvent 类

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 ().

成员函数文档编制

QCloseEvent:: QCloseEvent ()

构造关闭事件对象。

另请参阅 accept ().