QCloseEvent 类
QCloseEvent 类包含描述关闭事件的参数。更多...
头文件 | #include <QCloseEvent> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake | QT += gui |
继承 | QEvent |
- 包括继承成员在内的所有成员列表
- QCloseEvent 是 事件类 的一部分。
公开函数
详细描述
关闭事件发送到用户想要关闭的小部件,通常是通过选择“关闭”从窗口菜单,或者通过点击窗口标题栏的 X 按钮来进行的。在您调用 QWidget::close() 以程序化关闭小部件时,也会发送这些事件。
关闭事件包含一个标志,指示接收器是否想要关闭小部件。当小部件接受关闭事件时,它将被隐藏(如果它是通过具有 Qt::WA_DeleteOnClose 标志创建的,则将被销毁)。如果它拒绝接受关闭事件,则不会发生任何操作。(根据 X11,窗口管理器可能会强制关闭窗口;但在撰写本文时,我们还不知道任何执行此操作的窗口管理器。)
事件处理器 QWidget::closeEvent() 接收关闭事件。此事件处理器的默认实现接受关闭事件。如果您不想隐藏您的部件,或者需要特殊处理,您应该重新实现事件处理器并 忽略 事件。
如果要在关闭时删除小部件,请使用具有 Qt::WA_DeleteOnClose 标志的小部件进行创建。这对于多窗口应用程序中的独立顶层窗口非常有用。
QObject 在它们被删除时会发出 destroyed() 信号。
如果最后一个顶层窗口被关闭,则发出 QGuiApplication::lastWindowClosed() 信号。
isAccepted() 函数返回 true
,如果事件的接收者已同意关闭小部件;通过调用 accept() 同意关闭小部件,通过调用 ignore() 如果此事件的接收者不想关闭小部件。
另请参阅QWidget::close(),QWidget::hide(),QObject::destroyed(),QCoreApplication::exec(),QCoreApplication::quit() 以及 QGuiApplication::lastWindowClosed().
© 2024 Qt公司有限公司。本文档中包含的贡献均为各自的版权所有者的财产。本文档提供的资料根据自由软件基金会发布的并遵循GNU自由文档许可证1.3版的条款许可。Qt及其相关标志是芬兰及全球其他地方的Qt公司有限公司的商标。所有其他商标均是各自所有者的财产。