QCloseEvent Class
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 フラグで作成された場合は破棄されます)。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()も参照のこと 。
© 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.