En esta página

QObjectCleanupHandler Class

La clase QObjectCleanupHandler vigila el tiempo de vida de multiples QObjects. Más...

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

Funciones Públicas

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

Descripción Detallada

Un QObjectCleanupHandler es útil siempre que necesites saber cuando un número de QObjects que son propiedad de otra persona han sido borrados. Esto es importante, por ejemplo, cuando se hace referencia a memoria en una aplicación que ha sido asignada en una librería compartida.

Para hacer un seguimiento de algunos QObjects, crea un QObjectCleanupHandler, y add() los objetos que te interesen. Si ya no te interesa seguir el rastro de un objeto en particular, utiliza remove() para eliminarlo del manejador de limpieza. Si un objeto que está siendo rastreado por el gestor de limpieza es eliminado por otra persona, se eliminará automáticamente del gestor de limpieza. Puedes eliminar todos los objetos del gestor de limpieza con clear(), o destruyendo el gestor de limpieza. isEmpty() devuelve true si el QObjectCleanupHandler no tiene objetos de los que hacer un seguimiento.

Ver también QPointer.

Documentación de las funciones miembro

QObjectCleanupHandler::QObjectCleanupHandler()

Construye un QObjectCleanupHandler vacío.

[virtual noexcept] QObjectCleanupHandler::~QObjectCleanupHandler()

Destruye el gestor de limpieza. Todos los objetos de este gestor de limpieza serán eliminados.

Véase también clear().

QObject *QObjectCleanupHandler::add(QObject *object)

Añade object a este gestor de limpieza y devuelve el puntero al objeto.

Véase también remove().

void QObjectCleanupHandler::clear()

Elimina todos los objetos de este gestor de limpieza. El gestor de limpieza queda vacío.

Véase también isEmpty().

bool QObjectCleanupHandler::isEmpty() const

Devuelve true si este manejador de limpieza está vacío o si todos los objetos en este manejador de limpieza han sido destruidos; de lo contrario devuelve false.

Véase también add(), remove() y clear().

void QObjectCleanupHandler::remove(QObject *object)

Elimina el object de este gestor de limpieza. El objeto no se destruirá.

Véase también 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.