Auf dieser Seite

QObjectCleanupHandler Class

Die Klasse „QObjectCleanupHandler“ überwacht die Lebensdauer mehrerer QObjects. Mehr dazu...

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

Öffentliche Funktionen

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

Ausführliche Beschreibung

Ein `QObjectCleanupHandler` ist immer dann nützlich, wenn Sie wissen müssen, wann eine Reihe von ` QObject`-Objekten, die sich im Besitz eines anderen Objekts befinden, gelöscht wurden. Dies ist beispielsweise wichtig, wenn in einer Anwendung auf Speicher verwiesen wird, der in einer gemeinsam genutzten Bibliothek zugewiesen wurde.

Um bestimmte „ QObjects“ im Blick zu behalten, erstellen Sie einen „QObjectCleanupHandler“ und fügen Sie die Objekte, die Sie interessieren, mit „ add()“ hinzu. Wenn Sie ein bestimmtes Objekt nicht mehr im Blick behalten möchten, entfernen Sie es mit „ remove()“ aus dem Cleanup-Handler. Wenn ein vom Cleanup-Handler überwachtes Objekt von jemand anderem gelöscht wird, wird es automatisch aus dem Cleanup-Handler entfernt. Sie können alle Objekte im Cleanup-Handler mit ` clear()` löschen oder indem Sie den Cleanup-Handler zerstören. ` isEmpty()` gibt ` true ` zurück, wenn der `QObjectCleanupHandler` keine Objekte mehr enthält, die nachverfolgt werden müssen.

Siehe auch QPointer.

Dokumentation zu den Mitgliedsfunktionen

QObjectCleanupHandler::QObjectCleanupHandler()

Erstellt einen leeren `QObjectCleanupHandler`.

[virtual noexcept] QObjectCleanupHandler::~QObjectCleanupHandler()

Löscht den Cleanup-Handler. Alle Objekte in diesem Cleanup-Handler werden gelöscht.

Siehe auch ` clear()`.

QObject *QObjectCleanupHandler::add(QObject *object)

Fügt „ object “ zu diesem Bereinigungshandler hinzu und gibt den Zeiger auf das Objekt zurück.

Siehe auch remove().

void QObjectCleanupHandler::clear()

Löscht alle Objekte in diesem Bereinigungshandler. Der Bereinigungshandler wird leer.

Siehe auch „ isEmpty()“.

bool QObjectCleanupHandler::isEmpty() const

Gibt „ true “ zurück, wenn dieser Bereinigungshandler leer ist oder wenn alle Objekte in diesem Bereinigungshandler zerstört wurden; andernfalls wird „false“ zurückgegeben.

Siehe auch add(), remove() und clear().

void QObjectCleanupHandler::remove(QObject *object)

Entfernt das „ object “ aus diesem Bereinigungshandler. Das Objekt wird nicht zerstört.

Siehe auch ` add()`.

© 2026 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.