Класс 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.0/qobjectcleanuphandler.html