Qt文档阅读笔记-Qt对象模型及deleteLater()杂记
最近主要在擼官方的自學包。在此作下簡短的筆記:
?
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()不會照成多重刪除。
總結
以上是生活随笔為你收集整理的Qt文档阅读笔记-Qt对象模型及deleteLater()杂记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL笔记-binlog理论及bin
- 下一篇: canvas笔记-closePath函数