[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

相关推荐
忆锦紫7 分钟前
图像增强算法:对比度增强算法以及MATLAB实现
开发语言·图像处理·matlab
m0_7482500310 分钟前
C++ Web 编程
开发语言·前端·c++
4***175415 分钟前
Python酷库之旅-第三方库Pandas(051)
开发语言·python·pandas
码农阿豪17 分钟前
远程调试不再难!Remote JVM Debug+cpolar 让内网 Java 程序调试变简单
java·开发语言·jvm
lubiii_20 分钟前
MCP应用:cursor+hexstrike-ai的安全实战
开发语言·web安全·ai·php
是罐装可乐24 分钟前
前端架构知识体系:深入理解 sessionStorage、opener 与浏览器会话模型
开发语言·前端·javascript·promise·语法糖
cd ~/Homestead24 分钟前
PHP 变量、类型、运算符
android·开发语言·php
何中应27 分钟前
在Coze上新建一个插件
开发语言·python·ai
_OP_CHEN33 分钟前
【从零开始的Qt开发指南】(二十一)Qt 网络编程封神指南:UDP/TCP/HTTP 全场景实战
网络·qt·http·udp·tcp·前端开发·qt网络