人工精选补天云-QT5原理与源码分析视频课程
这套 Qt5 课程不是教你拖控件做界面的入门课,它的落点在 Qt 框架内部:内存怎么管、对象模型怎么运转、信号槽背后发生了什么。如果你写过一段时间的 Qt,却总在对象析构、跨线程通信、隐式共享这些地方踩坑,或者面试时被问到元对象系统只能背概念,那它值得花时间。 它解决的是哪类问题 日常用 Qt 的人
会员可免费下载本篇月会员、年会员、永久会员可免费领取。
开通会员 ›会员 · 按档位
游客按标价购买,不享受上表折扣。
支付成功后自动发放网盘链接,链接失效可找客服免费补
这套 Qt5 课程不是教你拖控件做界面的入门课,它的落点在 Qt 框架内部:内存怎么管、对象模型怎么运转、信号槽背后发生了什么。如果你写过一段时间的 Qt,却总在对象析构、跨线程通信、隐式共享这些地方踩坑,或者面试时被问到元对象系统只能背概念,那它值得花时间。
它解决的是哪类问题
日常用 Qt 的人常遇到几种说不清的故障:QByteArray、QString 大量拼接时内存涨得莫名其妙,拷贝一个对象开销比预期大得多,自定义类型放进 QVariant 或跨线程发信号时报错,继承 QObject 后对象删除时机不受控。这些问题靠查文档只能知道「怎么用」,靠这套课能知道「为什么这样设计」。
课程从字节数组的存储结构讲起,把原始数据、容量调整、data() 指针的语义一层层拆开,再延伸到字符串拼接为什么高效、隐式共享在什么条件下才真正省下拷贝。理解了这一层,你写代码时会主动避开那些看起来正常、实际在反复分配内存的写法。元对象系统部分占的篇幅更大,分了几块来讲,从 moc 生成的东西到底做了什么,到元类型注册、属性系统、信号槽的调用链路,属于把 Qt 最核心的那套反射机制摊开给你看。
适合什么基础,先看哪几块
前提是你能用 C++ 写类、理解指针和引用,并且至少写过一个小型 Qt 程序,知道 QObject、信号槽、QWidget 大概是什么。完全没碰过 Qt 的话,建议先补一轮基础用法再回来,否则源码层面的讨论会跟不上。
建议的观看顺序是先过准备部分,搞清楚讲课方式和内容边界,再进内存管理这块。字节数组和字符串那几节是后面所有内容的地基,不要跳。元对象系统按顺序看,几块之间有依赖关系,跳着看容易断线。如果你当前正被某个具体问题卡住,比如自定义类型无法跨线程传递,也可以直接定位到元类型系统那部分,但看完记得回头补前面的内存部分。
学完能独立做什么,资料怎么配合练习
学完之后,你应该能独立完成这些事:读懂 Qt 头文件里那些看起来绕的接口设计意图;自己实现一个高效的字符串拼接逻辑,而不是只会调 append;排查对象生命周期和内存占用异常时,能判断问题出在隐式共享、拷贝还是析构顺序上;给自定义类型正确注册元类型,让它能进 QVariant、能跨线程发信号;面对信号槽不触发、连接失效这类问题,能顺着元对象机制往下查,而不是靠试。
练习方式上,不要只看不写。每看完一节,用同样的思路在自己的代码里找对应场景复现一遍,比如手动构造一次深拷贝和浅拷贝的对比,观察内存和指针地址的变化。视频里出现的源码结构,建议对照本机安装的 Qt 头文件一起看,边看边在编辑器里跳转定义,比单纯记结论有效得多。课程本身是讲解性质,不附带完整工程,所以练习要靠你自己搭小例子,一个主题一个最小可运行程序,跑通再往下走。
整体判断:这是一套偏原理和源码的课,不是速成工具课。如果你的目标只是快速做出界面,它偏重;如果你想真正把 Qt 用稳、少踩内存和对象模型的坑,它的性价比是够的。
课程目录
课程目录151 集
- 课程介绍 [C]补天云-QT5原理与源码分析视频课程 是一份后端开发 / itjc8学习资料,内容围绕 后端开发 / itjc8 展开。 内容涵盖:QT内存管理、QT内存管理 2、QT元对象系统、QT元对象系统 2、QT元对象系统 3、QT元类型系统 等主题。 适合对 后端开发 / itjc8 有需求、希望一次性拿到完整资料的同学。 下方为完整资料与目录,可先看目录判断是否符合需要。 ├─1.准备 │ 1.您可以学到什么?.mp4
- │ 2.这个课程是怎么讲的?.mp4
- │ ├─2.QT内存管理 │ 1.字节数组存储结构.mp4
- │ 2.字节数组原始数据.mp4
- │ 3.字节数组修改大小.mp4
- │ 4.字节数组内存需求.mp4
- │ 5.字节数组data()函数(一).mp4
- │ 6.字节数组data()函数(二).mp4
- │ 7.字符串高效拼接原理.mp4
- │ 8.自行实现字符串高效拼接.mp4
- │ 9.隐式共享基础概念.mp4
- │ 10.隐式共享优点.mp4
- │ ├─3.QT内存管理(2) │ 1.字节数组隐式共享(一).mp4
- │ 2.字节数组隐式共享(二).mp4
- │ 3.字节数组隐式共享(三).mp4
- │ 4.隐式共享工具类.mp4
- │ 5.自行实现引用计数.mp4
- │ 6.自行实现隐式共享.mp4
- │ 7.显式共享工具类.mp4
- │ 8.隐式共享引发的迭代器问题(一).mp4
- │ 9.隐式共享引发的迭代器问题(二).mp4
- │ 10.隐式共享引发的迭代器问题(三).mp4
- │ ├─4.QT元对象系统 │ 1.QT元对象模型.mp4
- │ 2.QT元对象.mp4
- │ 3.QT元类信息.mp4
- │ 4.QT元枚举.mp4
- │ 5.QT元方法.mp4
- │ 6.QT元属性.mp4
- │ 7.QT元对象存储结构.mp4
- │ 8.如何定义元对象数据.mp4
- │ 9.元对象编译器moc.mp4
- │ 10.元对象数据解析(一).mp4
- │ ├─5.QT元对象系统(2) │ 1.元对象数据解析(二).mp4
- │ 2.QT反射机制.mp4
- │ 3.反射创建对象实例流程.mp4
- │ 4.反射创建对象实例源码分析.mp4
- │ 5.反射调用函数源码分析.mp4
- │ 6.队列模式元调用流程.mp4
- │ 7.队列模式元调用源码分析.mp4
- │ 8.队列模式元调用理解.mp4
- │ 9.QT元调用事件处理.mp4
- │ 10.阻塞队列元调用流程.mp4
- │ ├─6.QT元对象系统(3) │ 1.阻塞队列元调用源码分析.mp4
- │ ├─7.QT元类型系统 │ 1.QT元类型.mp4
- │ 2.QMetaType类型.mp4
- │ 3.静态类型元类型存储.mp4
- │ 4.自定义类型元类型存储.mp4
- │ 5.自定义类型元类型声明.mp4
- │ 6.自定义类型注册表.mp4
- │ 7.自定义类型注册流程.mp4
- │ 8.自定义类型注册源码分析.mp4
- │ 9.元类型系统创建对象实例.mp4
- │ 10.元类型类型转换应用实例.mp4
- │ ├─8.QT元类型系统(2) │ 1.元类型类型转换注册表.mp4
- │ 2.元类型类型转换注册过程.mp4
- │ 3.元类型类型转换实现过程.mp4
- │ 4.元类型值比较应用实例.mp4
- │ 5.元类型值比较源码分析.mp4
- │ 6.元类型流操作应用实例.mp4
- │ 7.元类型流操作源码分析.mp4
- │ 8.元类型调试流.mp4
- │ ├─9.QT可变类型 │ 1.QVariant内部存储结构.mp4
- │ 2.QVariant为空的判断依据.mp4
- │ 3.QVariant处理器管理器.mp4
- │ 4.GUI模块处理器注册过程.mp4
- │ 5.注册自定义处理器.mp4
- │ 6.类型有关的理解.mp4
- │ 7.QVariant构造函数.mp4
- │ 8.QVariant小对象构造过程.mp4
- │ 9.小对象构造代码剖析.mp4
- │ 10.QVariant大对象构造过程.mp4
- │ ├─10.QT可变类型(2) │ 1.核心模块对象构造过程.mp4
- │ 2.自定义类型构造过程.mp4
- │ 3.存储数据.mp4
- │ 4.读取数据.mp4
- │ 5.判断能否类型转换流程.mp4
- │ 6.自定义类型判断.mp4
- │ 7.QT对象类型指针.mp4
- │ 8.QT对象类型理解.mp4
- │ 9.类型转换矩阵.mp4
- │ 10.类型转换流程.mp4
- │ ├─11.QT可变类型(3) │ 1.类型转换源码分析.mp4
- │ 2.指针类型类型转换注意事项.mp4
- │ 3.QT类型体系总结.mp4
- │ ├─12.QT属性系统 │ 1.QT静态属性.mp4
- │ 2.静态属性理解(一).mp4
- │ 3.静态属性理解(二).mp4
- │ 4.静态属性理解(三).mp4
- │ 5.读写属性的三种方法.mp4
- │ 6.元对象系统修改属性源码.mp4
- │ 7.元对象系统读取属性源码.mp4
- │ 8.QT对象基础存储结构.mp4
- │ 9.设置属性的流程.mp4
- │ 10.设置属性的源码.mp4
- │ ├─13.QT对象树 │ 1.QT对象内部存储结构.mp4
- │ 2.QT对象存储结构源码.mp4
- │ 3.QT框架对象类型内部套路.mp4
- │ 4.QT框架对象类型的讨论.mp4
- │ 5.QT对象构造过程.mp4
- │ 6.QT对象销毁过程.mp4
- │ 7.QT对象父子关系.mp4
- │ 8.QT对象建立父子关系.mp4
- │ 9.删除QT对象树.mp4
- │ 10.QT对象树遍历.mp4
- │ ├─14.QT对象树(2) │ 1.所属线程对QT对象的影响.mp4
- │ 2.QT线程内部存储结构.mp4
- │ 3.QT线程对象.mp4
- │ 4.QT对象构造与线程.mp4
- │ 5.QT对象构造线程实例.mp4
- │ 6.改变QT对象所属线程.mp4
- │ 7.moveToThread源码.mp4
- │ 8.QT对象所属线程实例应用.mp4
- │ ├─15.QT信号与槽 │ 1.连接整体存储结构.mp4
- │ 2.连接基础数据结构.mp4
- │ 3.连接存储结构细节.mp4
- │ 4.连接建立的流程.mp4
- │ 5.连接建立源码分析.mp4
- │ 6.SIGNAL和SLOT小伎俩.mp4
- │ 7.规范化的理解.mp4
- │ 8.连接对象存在形式(一).mp4
- │ 9.连接对象存在形式(二).mp4
- │ 10.连接对象存在形式(三).mp4
- │ ├─16.QT信号与槽(2) │ 1.槽函数执行过程的理解.mp4
- │ 2.信号函数的理解.mp4
- │ 3.信号函数执行过程.mp4
- │ 4.私有信号.mp4
- │ ├─17.QT事件系统 │ 1.QT事件系统总体结构.mp4
- │ 2.QT事件类型.mp4
- │ 3.QT事件队列.mp4
- │ 4.QT事件队列的理解(一).mp4
- │ 5.QT事件队列的理解(二).mp4
- │ 6.QT事件队列的理解(三).mp4
- │ 7.QT投递异步事件总体过程.mp4
- │ 8.QT投递异步事件源码分析.mp4
- │ 9.QT事件压缩.mp4
- │ 10.QT删除已投递事件.mp4
- │ ├─18.QT事件系统(2) │ 1.QT投递同步事件.mp4
- │ 2.QT事件派发总体流程.mp4
- │ 3.QT事件派发器.mp4
- │ 4.QT事件派发过程.mp4
- │ 5.QT事件派发源码分析.mp4
- │ 6.QT窗口过程函数.mp4
- │ 7.QT事件派发工具类.mp4
- │ 8.QT事件派发中间过程.mp4
- │ 9.QT事件派发收尾工作.mp4
- │ 10.QT事件默认处理.mp4
- │ ├─19.QT事件系统(3) │ 1.QT自定义事件处理.mp4
- │ 2.QT事件处理的两个概念.mp4
- │ 3.QT事件过滤器.mp4
- │ ├─20.总结 │ 1.课后总结.mp4
- │ └─ 资料.zip
![[JS]蔡老板-AST入门实战与JavaScript补环境课程](/api/uploads/b61dd97b-3886-4945-87a1-bca5f13e23d6.jpg)
![[架构]Java 亿级项目架构设计与落地应用](/api/uploads/085d4f12-17c5-4a8c-a5dd-76796ac4a679.jpg)



