[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

相关推荐
啥都不懂的小小白1 分钟前
JavaScript入门指南:从零开始掌握网页交互
开发语言·javascript·交互
半夏知半秋6 分钟前
rust学习-循环
开发语言·笔记·后端·学习·rust
维C泡泡8 分钟前
STL(初识string)
开发语言·c++
郝学胜-神的一滴11 分钟前
Linux线程使用注意事项:骈文技术指南
linux·服务器·开发语言·数据结构·c++·程序人生
叫我:松哥12 分钟前
基于 Flask 的音乐推荐与可视化分析系统,包含用户、创作者、管理员三种角色,集成 ECharts 进行数据可视化,采用混合推荐算法
开发语言·python·信息可视化·flask·echarts·pandas·推荐算法
此剑之势丶愈斩愈烈16 分钟前
mybatis-plus乐观锁
开发语言·python·mybatis
CC.GG17 分钟前
【Qt】常用控件----容器类控件(QGroupBox、QTabWidget )以及布局管理器
开发语言·qt
缘如风18 分钟前
Qt Creator 断点调试断点停不住
开发语言·qt
ghie909019 分钟前
MATLAB中实现基于高斯混合模型(GMM)的心电信号两级分类
开发语言·matlab·分类
勘察加熊人19 分钟前
python实现批量中英文文件翻译
开发语言·windows·python