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 ) |
QObjectCleanupHandler 很有用,每当需要知道当很多 QObject 由他人拥有的已被删除。这很重要,例如,当引用由共享库分配的应用程序内存时。
要保持追踪某些
QObject
,创建 QObjectCleanupHandler,并
add
() 感兴趣的对象。若对追踪的特定对象不再感兴趣,使用
remove
() 以移除它从清理处理程序。若他人删除由清理处理程序追踪的对象,将自动从清理处理程序中移除。可以删除清理处理程序中的所有对象采用
clear
(),或通过销毁清理处理程序。
isEmpty
() 返回
true
若 QObjectCleanupHandler 没有要保持追踪的对象。
另请参阅 QPointer .
构造空的 QObjectCleanupHandler。
[virtual noexcept]
QObjectCleanupHandler::
~QObjectCleanupHandler
()
销毁清理处理程序。删除在此清理处理程序中的所有对象。
另请参阅 clear ().
添加 object 到此清理处理程序,并返回对象指针。
另请参阅 remove ().
删除在此清理处理程序中的所有对象。清理处理程序变为空。
另请参阅 isEmpty ().
返回
true
若此清理处理程序为空,或者若此清理处理程序中的所有对象已被销毁;否则返回 false。
另请参阅 add (), remove (),和 clear ().
移除 object 从此清理处理程序。不会销毁对象。
另请参阅 add ().