QObjectCleanupHandler Class

QObjectCleanupHandler クラスは、複数の QObject のライフタイムを監視します。詳細...

Header: #include <QObjectCleanupHandler>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Inherits: QObject

パブリック関数

QObjectCleanupHandler()
virtual ~QObjectCleanupHandler()
QObject *add(QObject *object)
void clear()
bool isEmpty() const
void remove(QObject *object)

詳細説明

QObjectCleanupHandler は、他の人が所有するQObjectがいつ削除されたかを知る必要がある場合に便利です。これは、共有ライブラリに割り当てられたアプリケーションのメモリを参照する場合などに重要です。

いくつかのQObjectを追跡するには、QObjectCleanupHandler を作成し、add() 関心のあるオブジェクトを指定します。特定のオブジェクトを追跡する必要がなくなったら、remove() を使用して、そのオブジェクトをクリーンアップ・ハンドラから削除してください。クリーンアップ・ハンドラによって追跡されているオブジェクトが他の誰かによって削除されると、それは自動的にクリーンアップ・ハンドラから削除されます。クリーンアップ・ハンドラ内のすべてのオブジェクトを削除するには、clear() を使用するか、クリーンアップ・ハンドラを破棄します。isEmpty() は、QObjectCleanupHandler に追跡するオブジェクトがない場合、true を返します。

QPointerも参照してください

メンバ関数ドキュメント

QObjectCleanupHandler::QObjectCleanupHandler()

空の QObjectCleanupHandler を構築します。

[virtual noexcept] QObjectCleanupHandler::~QObjectCleanupHandler()

クリーンアップ・ハンドラを破棄します。このクリーンアップハンドラ内のすべてのオブジェクトが削除されます。

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

QObject *QObjectCleanupHandler::add(QObject *object)

このクリーンアップ・ハンドラにobject を追加し、オブジェクトへのポインタを返します。

remove() も参照

void QObjectCleanupHandler::clear()

このクリーンアップ・ハンドラのすべてのオブジェクトを削除します。クリーンアップ・ハンドラは空になります。

isEmpty()も参照

bool QObjectCleanupHandler::isEmpty() const

このクリーンアップ・ハンドラが空であるか、このクリーンアップ・ハンドラ内のすべてのオブジェクトが破棄された場合はtrue を返し、そうでない場合は false を返します。

add()、remove()、clear()も参照

void QObjectCleanupHandler::remove(QObject *object)

このクリーンアップ・ハンドラからobject を削除します。オブジェクトは破棄されません。

add()も参照して ください。

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