QObjectCleanupHandler Class
QObjectCleanupHandler 类用于监视多个 QObject 的生命周期。更多内容...
| 头文件: | #include <QObjectCleanupHandler> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) 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) |
详细说明
当您需要了解由其他对象拥有的多个QObject何时被删除时,QObjectCleanupHandler便派上用场。例如,在应用程序中引用由共享库分配的内存时,这一点尤为重要。
若要跟踪某些QObject,请创建一个QObjectCleanupHandler,并将您感兴趣的对象通过add()添加进去。若不再需要跟踪某个特定对象,请使用remove()将其从清理处理程序中移除。如果被清理处理程序跟踪的对象被其他方删除,它将自动从清理处理程序中移除。 你可以通过调用clear(),或者销毁清理处理程序,来删除清理处理程序中的所有对象。如果 QObjectCleanupHandler 中没有需要跟踪的对象,isEmpty() 将返回true 。
另请参阅 QPointer 。
成员函数文档
QObjectCleanupHandler::QObjectCleanupHandler()
创建一个空的 QObjectCleanupHandler。
[virtual noexcept] QObjectCleanupHandler::~QObjectCleanupHandler()
销毁清理处理程序。该清理处理程序中的所有对象都将被删除。
另请参阅 clear()。
QObject *QObjectCleanupHandler::add(QObject *object)
将object 添加到此清理处理程序中,并返回该对象的指针。
另请参阅 remove()。
void QObjectCleanupHandler::clear()
删除此清理处理程序中的所有对象。清理处理程序将变为空。
另请参阅 isEmpty()。
bool QObjectCleanupHandler::isEmpty() const
如果此清理处理程序为空,或者其中所有对象均已被销毁,则返回true ;否则返回 false。
void QObjectCleanupHandler::remove(QObject *object)
将object 从该清理处理程序中移除。该对象不会被销毁。
另请参阅 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.