QCloseEvent Class

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

Header: #include <QCloseEvent>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Inherits: 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()

close event オブジェクトを構築します。

accept()も参照してください

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します このドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。