[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

相关推荐
yuhuofei202118 小时前
【Python入门】Python中的输入与输出
开发语言·python
imuliuliang18 小时前
Laravel 2.x:PHP框架的早期革新之路
开发语言·php·laravel
跨境数据猎手18 小时前
跨境商城反向海淘系统开发全流程逻辑(下)
开发语言·php
川冰ICE18 小时前
Python爬虫实战㉘|综合实战3,新闻热点追踪与舆情分析系统
开发语言·爬虫·python
AI人工智能+电脑小能手18 小时前
【大白话说Java面试题 第70题】【JVM篇】第30题:垃圾回收器是怎样寻找 GC Roots 的?
java·开发语言·jvm·面试
晚烛19 小时前
CANN 数据流水线优化:从数据加载到模型输入的端到端加速
开发语言·网络·人工智能·python·深度学习
biter down19 小时前
1.什么是GUI自动化测试
开发语言
聆风吟º19 小时前
深入理解C语言 isupper 函数详解:判断字符是否为大写字母
c语言·开发语言·库函数·字符处理·isupper
代码小书生19 小时前
time,一个时间操作的 Python 库!
开发语言·python·microsoft
C+-C资深大佬19 小时前
在C++中,const和#define有什么区别?
开发语言·c++