[Qt] deleteLater 和 delete

文章目录

deleteLater

deleteLater 是 QObject 类对象的成员函数,用于延迟删除一个 QObject 类对象。deleteLater 依赖于事件循环,调用 deleteLater 后本质是发送了一个 DeferrerDelete 事件,在事件循环处理中把对象删除。

deleteLater 会在当前对象的所有事件处理完成后再删除对象,deleteLater 会在当前对象的所有事件处理完成后再删除对象。

cpp 复制代码
//工作对象工作完成,停止线程
QObject::connect(workObject,&WorkObject::workFinished,[&](){
    workThread->quit();
    workThread->wait();
});
//工作线程停止,删除工作对象
QObject::connect(workThread,&QThread::finished,workObject,&WorkObject::deleteLater );
//工作对象销毁,删除工作线程
QObject::connect(workObject,&WorkObject::destroyed,workThread,&QThread::deleteLater );

delete

delete 是立即删除对象,对象的既有事件不再处理。

参考链接

Qt deleteLater

相关推荐
嵌入小生0074 分钟前
基于Linux系统下的C语言程序错误及常见内存问题调试方法教程(嵌入式-Linux-C语言)
linux·c语言·开发语言·嵌入式·小白·内存管理调试·程序错误调试
小温冲冲10 分钟前
QPixmap 详解:Qt 中的高效图像处理类
开发语言·图像处理·qt
面汤放盐22 分钟前
企业权限--系统性方案探究
java·开发语言
悟能不能悟28 分钟前
java Date转换为string
java·开发语言
菜宾36 分钟前
java-redis面试题
java·开发语言·redis
小温冲冲1 小时前
Qt实现图片缩放与拖拽查看功能(附源码)
qt
程序员_大白1 小时前
区块链部署与运维,零基础入门到精通,收藏这篇就够了
运维·c语言·开发语言·区块链
qq_229058011 小时前
python-Dgango项目收集静态文件、构建前端、安装依赖
开发语言·python
测试人社区—66791 小时前
2025区块链分层防御指南:AI驱动的安全测试实战策略
开发语言·驱动开发·python·appium·pytest
m0_748248651 小时前
C++使用HTTP库和框架轻松发送HTTP请求
开发语言·c++·http