Qt文档阅读笔记-Qt对象模型及deleteLater()杂记
发布日期:2021-06-30 10:43:07 浏览次数:3 分类:技术文章

本文共 673 字,大约阅读时间需要 2 分钟。

最近主要在撸官方的自学包。在此作下简短的笔记:

 

Qt对象模型

Qt包含的1500个类可以分为2类

     1. identify types;

     2. value types;

 

identify types:

     1. 从QObject继承下来的类;

     2. 通过元对象系统扩展C++的动态性质;

     3. 不能用拷贝构造函数,并且"="符号相当与delete;

  如:QWidget,QWindow,QApplication,QEventLoop,QThread,QFile,QTcpSocket

 

value types是标志的C++类:

     1. 如QColor,QEventLoop,QDataStream,QMetaType;

  2. 100个value types使用copy-on-write模式(隐式共享);

  如:QString,QByteArray,QList,QVector,QHash,QCache,QDir,QPixmap,QImage,Qrush,QPen

  

这里介绍下deleteLater()函数

当某个对象在处理一个事件时,这个对象不能被删除;

QObject::deleteLater()槽函数调度删除object对象;

>当Object回到事件循环中,对象将会被删除;

>线程中如果没有事件循环,那么当线程完成后就会被删除:

connect(threadPtr, &QThread::finished, threadPtr, &QThread::deleteLater);

注意:同一个对象调用多次deleteLater()不会照成多重删除。

转载地址:https://it1995.blog.csdn.net/article/details/106100255 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Qt文档阅读笔记-QPointer的概念及实例(并发多线程实例)
下一篇:Web前端笔记-使用@media(媒体查询)展示及隐藏div

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月17日 19时41分48秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章