Класс QObjectCleanupHandler
Класс QObjectCleanupHandler отслеживает жизненный цикл нескольких QObject. Подробнее...
| Заголовок: | #include <QObjectCleanupHandler> |
| CMake: | find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| Наследует: | 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() возвращает true если QObjectCleanupHandler не имеет объектов для отслеживания.
См. также QPointer.
Документация по членам-функциям
QObjectCleanupHandler::QObjectCleanupHandler()
Конструирует пустой QObjectCleanupHandler.
[virtual] 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().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qobjectcleanuphandler.html