Sur cette page

QObjectCleanupHandler Class

La classe QObjectCleanupHandler surveille la durée de vie de plusieurs QObjects. Plus d'informations...

En-tête : #include <QObjectCleanupHandler>
CMake : find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake : QT += core
Héritages : QObject

Fonctions publiques

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

Description détaillée

Un QObjectCleanupHandler est utile lorsque vous avez besoin de savoir quand un certain nombre de QObjectappartenant à quelqu'un d'autre ont été supprimés. C'est important, par exemple, lorsque l'on fait référence à de la mémoire dans une application qui a été allouée dans une bibliothèque partagée.

Pour garder une trace de certains QObjects, créez un QObjectCleanupHandler et add() les objets qui vous intéressent. Si vous ne souhaitez plus suivre un objet particulier, utilisez remove() pour le supprimer du gestionnaire de nettoyage. Si un objet suivi par le gestionnaire de nettoyage est supprimé par quelqu'un d'autre, il sera automatiquement supprimé du gestionnaire de nettoyage. Vous pouvez supprimer tous les objets du gestionnaire de nettoyage avec clear(), ou en détruisant le gestionnaire de nettoyage. isEmpty() renvoie true si le QObjectCleanupHandler n'a pas d'objets à gérer.

Voir également QPointer.

Documentation des fonctions membres

QObjectCleanupHandler::QObjectCleanupHandler()

Construit un QObjectCleanupHandler vide.

[virtual noexcept] QObjectCleanupHandler::~QObjectCleanupHandler()

Détruit le gestionnaire de nettoyage. Tous les objets de ce gestionnaire de nettoyage seront supprimés.

Voir aussi clear().

QObject *QObjectCleanupHandler::add(QObject *object)

Ajoute object à ce gestionnaire de nettoyage et renvoie le pointeur vers l'objet.

Voir aussi remove().

void QObjectCleanupHandler::clear()

Supprime tous les objets de ce gestionnaire de nettoyage. Le gestionnaire de nettoyage devient vide.

Voir aussi isEmpty().

bool QObjectCleanupHandler::isEmpty() const

Renvoie true si ce gestionnaire de nettoyage est vide ou si tous les objets de ce gestionnaire de nettoyage ont été détruits ; sinon, renvoie false.

Voir aussi add(), remove(), et clear().

void QObjectCleanupHandler::remove(QObject *object)

Supprime l'adresse object de ce gestionnaire de nettoyage. L'objet ne sera pas détruit.

Voir aussi 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.