Qt 是一个功能强大的 C++ 跨平台应用程序开发框架。本专栏的目标不是"速成项目",而是帮助你系统地理解 Qt 的核心概念与设计思想。
每篇文章聚焦一个小知识点,可独立阅读,也可按顺序学习。
第一阶段:认识 Qt
- 认识 Qt:本阶段导读 (🚧 计划中)
- Qt 是什么 (🚧 计划中)
- Qt 的版本与许可证 (🚧 计划中)
第二阶段:环境搭建
- 环境搭建:本阶段导读 (🚧 计划中)
- macOS 安装 Qt (推荐) (🚧 计划中)
- macOS 使用 Homebrew 安装 Qt (🚧 计划中)
- Windows 安装 Qt (🚧 计划中)
- Qt Creator 界面介绍 (🚧 计划中)
- 创建第一个 Qt 项目 (🚧 计划中)
- qmake vs CMake (🚧 计划中)
第三阶段:Hello Qt
- Hello Qt:本阶段导读 (🚧 计划中)
- 第一个窗口程序 (🚧 计划中)
- QApplication 的作用 (🚧 计划中)
- 程序的启动流程 (🚧 计划中)
第四阶段:QObject 基础
- QObject 基础:本阶段导读 (🚧 计划中)
- QObject:Qt 类的共同祖先 (🚧 计划中)
- Q_OBJECT 宏的作用 (🚧 计划中)
- MOC 是什么 (🚧 计划中)
- 对象树:父子关系 (🚧 计划中)
- 对象树与内存自动释放 (🚧 计划中)
第五阶段:信号与槽
- 信号与槽:本阶段导读 (🚧 计划中)
- 什么是信号 (Signal) (🚧 计划中)
- 什么是槽 (Slot) (🚧 计划中)
- connect 函数基础 (🚧 计划中)
- 自定义信号 (🚧 计划中)
- 自定义槽 (🚧 计划中)
- Qt4 字符串语法 vs Qt5 新语法 (🚧 计划中)
- 信号槽的连接类型 (🚧 计划中)
- Lambda 表达式作为槽 (🚧 计划中)
- 用纯 C++ 手写一个迷你信号/槽系统 (🚧 计划中)
第六阶段:事件系统
- 事件系统:本阶段导读 (🚧 计划中)
- 什么是事件循环 (🚧 计划中)
- exec() 做了什么 (🚧 计划中)
- QEvent 类族 (🚧 计划中)
- 重写事件处理函数 (🚧 计划中)
- 事件过滤器 (Event Filter) (🚧 计划中)
- 事件与信号槽的区别 (🚧 计划中)
第七阶段:QWidget 基础
- QWidget 基础:本阶段导读 (🚧 计划中)
- QWidget:所有控件的基类 (🚧 计划中)
- 控件的几何属性 (🚧 计划中)
- 控件的可见性与启用状态 (🚧 计划中)
- 样式表 (QSS) 入门 (🚧 计划中)
第八阶段:常用控件
- 常用控件:本阶段导读 (🚧 计划中)
- QLabel:文本与图片展示 (🚧 计划中)
- QPushButton:按钮 (🚧 计划中)
- QLineEdit:单行输入框 (🚧 计划中)
- QTextEdit:多行文本框 (🚧 计划中)
- QComboBox:下拉选择框 (🚧 计划中)
- QCheckBox 与 QRadioButton (🚧 计划中)
- QSlider 与 QSpinBox (🚧 计划中)
第九阶段:布局管理
- 布局管理:本阶段导读 (🚧 计划中)
- 为什么需要布局管理器 (🚧 计划中)
- QHBoxLayout:水平布局 (🚧 计划中)
- QVBoxLayout:垂直布局 (🚧 计划中)
- QGridLayout:网格布局 (🚧 计划中)
- 嵌套布局 (🚧 计划中)
- 尺寸策略 (Size Policy) (🚧 计划中)
- 伸缩因子 (Stretch) (🚧 计划中)
第十阶段:对话框
- 对话框:本阶段导读 (🚧 计划中)
- QDialog 基础 (🚧 计划中)
- 模态与非模态对话框 (🚧 计划中)
- QMessageBox:消息提示框 (🚧 计划中)
- QFileDialog:文件选择对话框 (🚧 计划中)
- QInputDialog:输入对话框 (🚧 计划中)
第十一阶段:主窗口结构
- 主窗口结构:本阶段导读 (🚧 计划中)
- QMainWindow 概述 (🚧 计划中)
- 菜单栏 (QMenuBar) (🚧 计划中)
- 工具栏 (QToolBar) (🚧 计划中)
- 状态栏 (QStatusBar) (🚧 计划中)
- 中心部件 (Central Widget) (🚧 计划中)
第十二阶段:Model/View 架构
- Model/View 架构:本阶段导读 (🚧 计划中)
- Model/View 设计思想 (🚧 计划中)
- QListWidget vs QListView (🚧 计划中)
- QTableWidget vs QTableView (🚧 计划中)
- QStandardItemModel 基础 (🚧 计划中)
- 自定义 Model 入门 (🚧 计划中)
- Delegate 基础 (🚧 计划中)
第十三阶段:多线程
- 多线程:本阶段导读 (🚧 计划中)
- 为什么需要多线程 (🚧 计划中)
- QThread 基础用法 (🚧 计划中)
- 继承 QThread vs moveToThread (🚧 计划中)
- 线程与事件循环 (🚧 计划中)
- 跨线程信号槽 (🚧 计划中)
- 线程依附性 (Thread Affinity) (🚧 计划中)
附录:QML 简介 (选读)
- QML 简介:本阶段导读 (🚧 计划中)
- QML 与 Qt Widgets 的区别 (🚧 计划中)
- QML 基本语法 (🚧 计划中)
- C++ 与 QML 交互 (🚧 计划中)
注:本专栏内容基于 Qt 6.x,核心概念同样适用于 Qt 5.x。标记为 (🚧 计划中) 的内容将陆续更新。