QObjectCleanupHandler 类

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:: QObjectCleanupHandler ()

构造空的 QObjectCleanupHandler。

[virtual noexcept] 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 ().