当前位置:网站首页>Summary of the use of qobjectcleanuphandler in QT
Summary of the use of qobjectcleanuphandler in QT
2022-06-28 18:45:00 【litanyuan】
background
QObjectCleanupHandler Class for cleanup QObject Class object , It can usually be used as a resource Cleaner .
Monitor object lifecycle
①. summary
QObjectCleanupHandler The objects managed in are delete It will be automatically deleted from the managed image list , It can be used to monitor the life cycle of objects .
②. Code example
QtClassDemo * demo = new QtClassDemo(nullptr);
QObjectCleanupHandler * demoWatch = new QObjectCleanupHandler;
connect(ui.pushButton, &QPushButton::clicked, [demo, demoWatch]() {
demoWatch->add(demo);
});
connect(ui.pushButton_2, &QPushButton::clicked, [demo, demoWatch]() {
delete demo;
});
connect(ui.pushButton_3, &QPushButton::clicked, [demo, demoWatch]() {
if (demoWatch->isEmpty())
{
qDebug() << " demo have been deleted ";
}
});

Automatic cleanup of objects
①. summary
QObjectCleanupHandler Objects are automatically destructed delete The objects it manages , It can be used for automatic deletion of dynamic objects .
②. Code example
connect(ui.pushButton, &QPushButton::clicked, [&]() {
QObjectCleanupHandler objectHandler;
objectHandler.add(new QtClassDemo("demo1"));
objectHandler.add(new QtClassDemo("demo2"));
objectHandler.add(new QtClassDemo("demo3"));
objectHandler.add(new QtClassDemo("demo4"));
});

Batch cleanup of dynamic objects
①. summary
QObjectCleanupHandler Of clear Method Society delete All the objects it manages , It can be used for batch deletion of dynamic objects .
②. Code example
connect(ui.pushButton, &QPushButton::clicked, [&]() {
QObjectCleanupHandler * objectHandler = new QObjectCleanupHandler;
objectHandler->add(new QtClassDemo("demo1"));
objectHandler->add(new QtClassDemo("demo2"));
objectHandler->add(new QtClassDemo("demo3"));
objectHandler->add(new QtClassDemo("demo4"));
objectHandler->clear();
});

边栏推荐
- Unity about oculus quest2 basic development based on XR interaction toolkit 003- capture function - making a VR bowling game
- 百度时间因子添加
- Huawei cloud AOM released version 2.0, and three features appeared
- 业务层修改--根据现有框架的反推修改
- 华为云AOM发布2.0版本,3大特性亮相
- 手动备份和还原DHCP服务器
- 19.2 container classification, array and vector container refinement
- About the solution of "modulenotfounderror: no module named 'flask.\u compat'"
- 数字化转型的1个目标,3大领域,6大因素和9个环节
- C语言文件操作
猜你喜欢

An error is reported when ActiveMQ is started. The 1883 port occupation problem is solved

匿名函数变量问题

双功能交联剂丨Lumiprobe 磺基花青7二羧酸研究

Go, begin, end, for, after, instead of

数字化转型的1个目标,3大领域,6大因素和9个环节

进阶高级-业务事务设计 开发入门

Konva series tutorial 3: Customizing drawings

How to manage interface documents efficiently and gracefully

模块化操作

数字化转型的1个目标,3大领域,6大因素和9个环节
随机推荐
NFT流动性协议的安全困局—NFT借贷协议XCarnival被黑事件分析
WiFi安全漏洞KRACK深度解读
记一次Emotet木马处理案例
闭包的理解
Lumiprobe丨Lumizol RNA 提取试剂解决方案
About the solution of "modulenotfounderror: no module named 'flask.\u compat'"
向上转型和向下转型
正版ST-link/V2 J-LINK JTAG/SWD引脚定义和注意事项
618活动季——百数低代码平台特享折扣来临
Database comparison tool
东方财富软件股票开户是靠谱的吗?在哪开户安全
[flask] update and delete crud of data
Tensorboard Usage Summary
华为云AOM发布2.0版本,3大特性亮相
Alist+RaiDrive 给电脑整个80亿GB硬盘
技术管理进阶——管理者如何做绩效沟通及把控风险
Lumiprobe非荧光叠丨氮化物研究丨3-叠丨氮丙醇
Steam education to break the barriers between disciplines
【Unity3D】发射(RayCast)物理射线(Ray)
原生实现.NET 5.0+ 自定义日志