QCloseEvent Class

QCloseEvent クラスには、クローズ・イベントを記述するパラメータが含まれています。詳細...

ヘッダー #include <QCloseEvent>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
継承: QEvent

パブリック関数

詳細説明

閉じるイベントは、ユーザが閉じたいウィジェットに送られます。通常は、ウィンドウ・メニューから "閉じる "を選択するか、X タイトル・バー・ボタンをクリックします。また、プログラムでウィジェットを閉じるためにQWidget::close() を呼び出したときにも送られます。

クローズ・イベントには、受信者がウィジェットをクローズさせたいかどうかを示すフラグが含まれます。ウィジェットがクローズ・イベントを受け入れると、非表示になります(Qt::WA_DeleteOnClose フラグで作成された場合は破棄されます)。closeイベントを拒否した場合は、何も起こりません。(X11では、ウィンドウ・マネージャがウィンドウを強制的に閉じる可能性がありますが、この記事を書いている時点では、このようなウィンドウ・マネージャは知りません)。

イベント・ハンドラQWidget::closeEvent() はクローズ・イベントを受け取ります。このイベントハンドラのデフォルト実装は、closeイベントを受け取ります。ウィジェットを非表示にしたくない場合、または特別な処理を行いたい場合は、イベント・ハンドラを再実装し、ignore() イベントを受け取る必要があります。

閉じたときにウィジェットを削除したい場合は、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()も参照してください

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.