QObjectCleanupHandler Class
Die Klasse QObjectCleanupHandler überwacht die Lebensdauer von mehreren QObjects. Mehr...
Kopfzeile: | #include <QObjectCleanupHandler> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
Vererbt: | QObject |
Öffentliche Funktionen
QObjectCleanupHandler() | |
virtual | ~QObjectCleanupHandler() |
QObject * | add(QObject *object) |
void | clear() |
bool | isEmpty() const |
void | remove(QObject *object) |
Detaillierte Beschreibung
Ein QObjectCleanupHandler ist immer dann nützlich, wenn Sie wissen müssen, wann eine Anzahl von QObject, die jemand anderem gehören, gelöscht wurde. Dies ist z.B. wichtig, wenn man in einer Anwendung auf Speicher verweist, der in einer Shared Library alloziert wurde.
Um einige QObjects zu verfolgen, erstellen Sie einen QObjectCleanupHandler und add() die Objekte, an denen Sie interessiert sind. Wenn Sie an der Verfolgung eines bestimmten Objekts nicht mehr interessiert sind, verwenden Sie remove(), um es aus dem Cleanup-Handler zu entfernen. Wenn ein Objekt, das vom Cleanup-Handler verfolgt wird, 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 zu verwalten hat.
Siehe auch QPointer.
Dokumentation der Mitgliedsfunktionen
QObjectCleanupHandler::QObjectCleanupHandler()
Konstruiert einen leeren QObjectCleanupHandler.
[virtual noexcept]
QObjectCleanupHandler::~QObjectCleanupHandler()
Zerstört 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 Cleanup-Handler hinzu und gibt den Zeiger auf das Objekt zurück.
Siehe auch remove().
void QObjectCleanupHandler::clear()
Löscht alle Objekte in diesem Cleanup-Handler. Der Bereinigungshandler wird leer.
Siehe auch isEmpty().
bool QObjectCleanupHandler::isEmpty() const
Gibt true
zurück, wenn dieser Cleanup-Handler leer ist oder wenn alle Objekte in diesem Cleanup-Handler zerstört wurden; andernfalls wird false zurückgegeben.
Siehe auch add(), remove(), und clear().
void QObjectCleanupHandler::remove(QObject *object)
Entfernt die object aus diesem Cleanup-Handler. Das Objekt wird nicht zerstört.
Siehe auch add().
© 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.