告别“只会用”:深入 QT 源码与原理实战

很多开发者用 Qt 写界面很顺手,一旦遇到性能瓶颈、内存泄漏或类型转换错误,就只能盲目调用 API,根本不知道底层发生了什么。这门课专门解决“会用但不懂理”的痛点,带你穿透 Qt 的元对象系统(MOC)和属性机制,看清对象构造、数据存储、读取以及类型转换的完整源码实现。不再依赖文档猜功能,而是直接看懂代码逻辑,彻底掌握 Qt 的运行机理。

零基础也能看懂对象生命周期与存储结构

课程不预设深厚的 C++ 功底,只要熟悉基础指针和类,就能跟着讲解走。建议先看“准备”章节和第一部分的“核心模块对象构造过程”,快速理清对象从内存分配、初始化到销毁的生命周期。随后重点研读“对象树”与“对象内部存储结构”,理解 Qt 如何通过指针管理父子对象关系及内存布局。这是后续理解属性系统和类型转换的基石,务必在动手前把对象模型吃透。

动手写类型转换与属性读写,学完即可独立排查 Bug

课程后半段直击实战难点:可变类型( QVariant )与属性系统。你会跟着源码分析类型转换的矩阵匹配流程、自定义类型如何注册转换规则,以及属性系统如何通过元对象系统动态读写属性。资料包中的源码文件(.rar)需解压后对应视频章节逐个调试运行。学完这套内容,你应能独立分析 Qt 应用程序的内存泄漏点、处理复杂的信号槽类型不匹配问题,甚至能基于源码修改底层逻辑来优化自定义控件或插件,完全具备独立进行 Qt 底层开发的能力。

课程目录

00.资料
butianyun_qt_theory_source_lesson_source_code_v1.0.1.rar 590.16kb
补天云QT系列课程学员手册V1.0.pdf 676.82kb
1.准备
1.您可以学到什么?_ev.mp4 5.08M
2.这个课程是怎么讲的?_ev.mp4 3.01M
10.QT可变类型(2)
1.核心模块对象构造过程_ev.mp4 29.32M
10.类型转换流程_ev.mp4 8.94M
2.自定义类型构造过程_ev.mp4 52.99M
3.存储数据_ev.mp4 28.55M
4.读取数据_ev.mp4 17.48M
5.判断能否类型转换流程_ev.mp4 16.05M
6.自定义类型判断_ev.mp4 8.47M
7.QT对象类型指针_ev.mp4 14.93M
8.QT对象类型理解_ev.mp4 23.12M
9.类型转换矩阵_ev.mp4 7.25M
11.QT可变类型(3)
1.类型转换源码分析_ev.mp4 17.93M
2.指针类型类型转换注意事项_ev.mp4 30.11M
3.QT类型体系总结_ev.mp4 11.90M
12.QT属性系统
1.QT静态属性_ev.mp4 32.11M
10.设置属性的源码_ev.mp4 21.69M
2.静态属性理解(一)_ev.mp4 5.66M
3.静态属性理解(二)_ev.mp4 6.16M
4.静态属性理解(三)_ev.mp4 8.70M
5.读写属性的三种方法_ev.mp4 8.64M
6.元对象系统修改属性源码_ev.mp4 31.08M
7.元对象系统读取属性源码_ev.mp4 7.61M
8.QT对象基础存储结构_ev.mp4 12.76M
9.设置属性的流程_ev.mp4 15.79M
13.QT对象树
1.QT对象内部存储结构_ev.mp4 6.90M
10.QT对象树遍历_ev.mp4 5.07M
2.QT对象存储结构源码_ev.mp4 15.23M
3.QT框架对象类型内部套路_ev.mp4 24.26M
4.QT框架对象类型的讨论_ev.mp4 10.53M
5.QT对象构造过程_ev.mp4 8.44M
6.QT对象销毁过程_ev.mp4 18.92M
7.QT对象父子关系_ev.mp4 15.12M
8.QT对象建立父子关系_ev.mp4 30.62M
9.删除QT对象树_ev.mp4 6.51M
14.QT对象树(2)
1.所属线程对QT对象的影响_ev.mp4 26.55M
2.QT线程内部存储结构_ev.mp4 11.59M
3.QT线程对象_ev.mp4 34.13M
4.QT对象构造与线程_ev.mp4 16.55M
5.QT对象构造线程实例_ev.mp4 17.53M
6.改变QT对象所属线程_ev.mp4 15.28M
7.moveToThread源码_ev.mp4 27.53M
8.QT对象所属线程实例应用_ev.mp4 16.58M
15.QT信号与槽
1.连接整体存储结构_ev.mp4 5.56M
10.连接对象存在形式(三)_ev.mp4 27.45M
2.连接基础数据结构_ev.mp4 19.30M
3.连接存储结构细节_ev.mp4 8.62M
4.连接建立的流程_ev.mp4 9.90M
5.连接建立源码分析_ev.mp4 90.35M
6.SIGNAL和SLOT小伎俩_ev.mp4 19.43M
7.规范化的理解_ev.mp4 21.35M
8.连接对象存在形式(一)_ev.mp4 19.17M
9.连接对象存在形式(二)_ev.mp4 14.61M
16.QT信号与槽(2)
1.槽函数执行过程的理解_ev.mp4 16.55M
2.信号函数的理解_ev.mp4 8.31M
3.信号函数执行过程_ev.mp4 41.74M
4.私有信号_ev.mp4 28.14M
17.QT事件系统
1.QT事件系统总体结构_ev.mp4 9.27M
10.QT删除已投递事件_ev.mp4 48.21M
2.QT事件类型_ev.mp4 6.32M
3.QT事件队列_ev.mp4 20.04M
4.QT事件队列的理解(一)_ev.mp4 18.53M
5.QT事件队列的理解(二)_ev.mp4 13.02M
6.QT事件队列的理解(三)_ev.mp4 18.83M
7.QT投递异步事件总体过程_ev.mp4 7.74M
8.QT投递异步事件源码分析_ev.mp4 37.07M
9.QT事件压缩_ev.mp4 16.89M
18.QT事件系统(2)
1.QT投递同步事件_ev.mp4 3.79M
10.QT事件默认处理_ev.mp4 6.15M
2.QT事件派发总体流程_ev.mp4 20.79M
3.QT事件派发器_ev.mp4 45.59M
4.QT事件派发过程_ev.mp4 18.88M
5.QT事件派发源码分析_ev.mp4 57.96M
6.QT窗口过程函数_ev.mp4 9.69M
7.QT事件派发工具类_ev.mp4 19.58M
8.QT事件派发中间过程_ev.mp4 31.81M
9.QT事件派发收尾工作_ev.mp4 5.36M
19.QT事件系统(3)
1.QT自定义事件处理_ev.mp4 7.23M
2.QT事件处理的两个概念_ev.mp4 4.91M
3.QT事件过滤器_ev.mp4 20.88M
2.QT内存管理
1.字节数组存储结构_ev.mp4 20.52M
10.隐式共享优点_ev.mp4 2.51M
2.字节数组原始数据_ev.mp4 15.77M
3.字节数组修改大小_ev.mp4 2.36M
4.字节数组内存需求_ev.mp4 28.51M
5.字节数组data()函数(一)_ev.mp4 15.04M
6.字节数组data()函数(二)_ev.mp4 9.54M
7.字符串高效拼接原理_ev.mp4 23.15M
8.自行实现字符串高效拼接_ev.mp4 54.68M
9.隐式共享基础概念_ev.mp4 14.61M
20.总结
1.课后总结_ev.mp4 2.29M
3.QT内存管理(2)
1.字节数组隐式共享(一)_ev.mp4 16.04M
10.隐式共享引发的迭代器问题(三)_ev.mp4 11.54M
2.字节数组隐式共享(二)_ev.mp4 24.57M
3.字节数组隐式共享(三)_ev.mp4 11.54M
4.隐式共享工具类_ev.mp4 33.14M
5.自行实现引用计数_ev.mp4 12.79M
6.自行实现隐式共享_ev.mp4 22.34M
7.显式共享工具类_ev.mp4 19.37M
8.隐式共享引发的迭代器问题(一)_ev.mp4 10.62M
9.隐式共享引发的迭代器问题(二)_ev.mp4 12.94M
4.QT元对象系统
1.QT元对象模型_ev.mp4 13.10M
10.元对象数据解析(一)_ev.mp4 21.68M
2.QT元对象_ev.mp4 18.71M
3.QT元类信息_ev.mp4 7.25M
4.QT元枚举_ev.mp4 28.77M
5.QT元方法_ev.mp4 25.04M
6.QT元属性_ev.mp4 10.88M
7.QT元对象存储结构_ev.mp4 13.94M
8.如何定义元对象数据_ev.mp4 25.98M
9.元对象编译器moc_ev.mp4 7.27M
5.QT元对象系统(2)
1.元对象数据解析(二)_ev.mp4 65.14M
10.阻塞队列元调用流程_ev.mp4 9.74M
2.QT反射机制_ev.mp4 2.97M
3.反射创建对象实例流程_ev.mp4 12.21M
4.反射创建对象实例源码分析_ev.mp4 24.42M
5.反射调用函数源码分析_ev.mp4 66.22M
6.队列模式元调用流程_ev.mp4 12.19M
7.队列模式元调用源码分析_ev.mp4 22.69M
8.队列模式元调用理解_ev.mp4 11.94M
9.QT元调用事件处理_ev.mp4 14.99M
6.QT元对象系统(3)
1.阻塞队列元调用源码分析_ev.mp4 27.02M
7.QT元类型系统
1.QT元类型_ev.mp4 4.64M
10.元类型类型转换应用实例_ev.mp4 51.97M
2.QMetaType类型_ev.mp4 25.38M
3.静态类型元类型存储_ev.mp4 21.45M
4.自定义类型元类型存储_ev.mp4 15.87M
5.自定义类型元类型声明_ev.mp4 18.34M
6.自定义类型注册表_ev.mp4 51.22M
7.自定义类型注册流程_ev.mp4 2.07M
8.自定义类型注册源码分析_ev.mp4 26.18M
9.元类型系统创建对象实例_ev.mp4 8.22M
8.QT元类型系统(2)
1.元类型类型转换注册表_ev.mp4 22.24M
2.元类型类型转换注册过程_ev.mp4 21.99M
3.元类型类型转换实现过程_ev.mp4 20.62M
4.元类型值比较应用实例_ev.mp4 25.82M
5.元类型值比较源码分析_ev.mp4 23.04M
6.元类型流操作应用实例_ev.mp4 19.12M
7.元类型流操作源码分析_ev.mp4 12.69M
8.元类型调试流_ev.mp4 17.41M
9.QT可变类型
1.QVariant内部存储结构_ev.mp4 12.86M
10.QVariant大对象构造过程_ev.mp4 11.22M
2.QVariant为空的判断依据_ev.mp4 26.27M
3.QVariant处理器管理器_ev.mp4 24.11M
4.GUI模块处理器注册过程_ev.mp4 10.93M
5.注册自定义处理器_ev.mp4 17.02M
6.类型有关的理解_ev.mp4 27.72M
7.QVariant构造函数_ev.mp4 12.63M
8.QVariant小对象构造过程_ev.mp4 10.50M
9.小对象构造代码剖析_ev.mp4 41.33M