淡若轻风

博客园 首页 新随笔 联系 订阅 管理

Qt 经典书籍推荐

以下是我根据 Qt 社区、官方推荐和开发者反馈整理的经典与实用书籍,按不同水平和方向分类。

1. 经典必读(基础 & 权威)

书籍名称作者适合水平推荐理由备注
C++ GUI Programming with Qt 4 (2nd Edition) Jasmin Blanchette & Mark Summerfield 入门 → 中级 Qt 官方御用书籍,被誉为“Qt 圣经”。讲解非常系统、深入,Widgets 部分极强。 虽然是 Qt 4,但核心概念(信号槽、Model/View、事件等)至今有效,是经典中的经典。
Foundations of Qt Development Johan Thelin 入门 → 中级 独立视角讲解 Qt,内容扎实,适合想系统理解 Qt 机制的开发者。 Qt 4 时代经典,概念讲解清晰。
 
 

2. Qt 6 现代推荐(强烈建议优先看)

  • Qt6 QML For Beginners —— Daniel Gakwaya 最推荐的现代 QML 入门书。内容实用、例子丰富,从零开始教你做流畅的现代 UI。包含大量真实项目实践。
  • Qt6 QML Advanced —— Daniel Gakwaya(同作者进阶版) 深入 QML + C++ 混合编程、性能优化、复杂 UI 等。
  • Cross-Platform Development with Qt 6 and Modern C++(Packt 出版) 适合有 C++ 基础的开发者,覆盖 Widgets + QML + 跨平台实战。
  • Qt 6 C++ 开发指南(中文) 国内作者编写,系统性好,适合中文读者系统学习 Qt 6 Widgets。
  • 零基础学 Qt 6 编程(中文) 同步讲解 Widgets 和 Qt Quick,适合完全新手。

3. 其他值得推荐的书籍

  • Advanced Qt Programming —— Mark Summerfield(进阶经典)
  • Qt 6 & C++ GUI Programming For Beginners(近年新书,实战导向)
  • Mastering Qt Widgets and Qt Quick(2025-2026 新书,实战强)

我的学习建议(结合你的学习路径)

  1. 如果你是新手
    • 先看 Qt6 QML For Beginners(现代路线,效率高)
    • 或者先看官方 Qt6 QML Book(免费在线版本)
  2. 如果你偏好传统 Widgets
    • 先读 C++ GUI Programming with Qt 4(经典)
    • 再看 Qt 6 C++ 开发指南
  3. 中文读者
    • 优先选择中文书籍(如《Qt 6 C++ 开发指南》、《Qt 6.x 从入门到精通》),理解更快,然后再看英文原版深入。
  4. 补充资源
    • 官方文档(doc.qt.io)永远是最好的“书”
    • Qt Academy 免费视频课程
    • 官方 Qt6 QML Book(免费在线)

有C++基础,相对Qt来说完全是新手,要如何学习Qt?

总体学习策略

  • 核心路线Qt Widgets(主) + Qt Quick(辅)
    • 先用 Widgets 打好基础(传统桌面软件最稳、最接近 MFC/Win32 思维)
    • 后期补充 QML,做出更现代、美观的界面
  • 学习原则边学边做,每周至少完成一个小项目
  • 预计时间2.5 ~ 4 个月 达到能独立开发中等复杂度桌面软件的水平

详细分阶段学习计划

阶段 1:Qt 基础 + Widgets 入门(2~3 周)

目标:快速上手,能做出带界面的程序。

重点内容

  • Qt Creator 熟悉 + 项目创建(CMake)
  • QObject、对象树、父子关系
  • 信号与槽(重点掌握)
  • 常用 Widgets(QPushButton、QLabel、QLineEdit、QComboBox 等)
  • 布局管理器(QHBoxLayout、QVBoxLayout、QGridLayout)
  • 对话框(QMessageBox、QFileDialog)
  • 菜单、工具栏、状态栏

推荐资源

  • C++ GUI Programming with Qt 4》(经典,必看前半部分)
  • Qt 官方文档 + Qt Academy 的 “Widgets Basics”
  • B站搜索:“黑马程序员 Qt6”“Qt6 Widgets 入门”

实践项目

  1. 简单计算器
  2. 记事本(带保存/打开)
  3. 图片浏览器

阶段 2:Widgets 进阶 + 核心架构(3~4 周)

重点内容

  • Model/View 架构(QTableView、QListView、QAbstractTableModel)—— 非常重要
  • 自定义控件
  • 样式表(QSS)美化界面
  • 文件操作、多文档界面(QMdiArea)
  • 多线程(QThread + Worker 模式)
  • 配置文件(QSettings)
  • 拖拽、剪贴板、打印支持

实践项目(建议按顺序做):

  1. 学生信息管理系统(表格 + CRUD)
  2. 文件资源管理器(类似 Windows 资源管理器)
  3. TODO / 任务管理工具(带分类、提醒)

阶段 3:现代 UI + C++ 与 QML 结合(3~4 周)

即使目标是桌面软件,现在也越来越流行混合开发(Widgets + QML 局部现代化)。

重点内容

  • QML 基础语法 + 属性绑定
  • Qt Quick Controls 2
  • C++ 类暴露给 QML(Q_PROPERTY、Q_INVOKABLE、setContextProperty)
  • 混合开发(QQuickWidget 在 Widgets 中嵌入 QML)
  • 动画和过渡效果

实践项目

  • 现代化版本的任务管理工具(带动画)
  • 带仪表盘的桌面监控工具

阶段 4:工程化与发布(2~3 周)

  • CMake 现代构建方式
  • 多语言国际化(tr() + Qt Linguist)
  • 打包发布(windeployqt / macdeployqt)
  • 自动更新、日志系统、单实例运行
  • 性能优化与内存泄漏检测

推荐书籍与资源(针对你的情况)

  1. 首选书籍
    • C++ GUI Programming with Qt 4》—— 经典,Widgets 部分极强
    • Qt 6 C++ 开发指南》(中文)—— 系统性好
    • Cross-Platform Development with Qt 6 and Modern C++》—— 实战强
  2. 在线资源
    • Qt 官方文档(最重要)
    • Qt Academy(免费视频课程)
    • GitHub 上搜 “Qt6 Examples”

学习建议与注意事项

  • 每天学习时间:建议 1.5~3 小时,以写代码为主
  • 优先使用 CMake 而不是 qmake(Qt 6 推荐方式)。
  • 先把 Widgets 学扎实,再学 QML,避免两边都浅尝辄止。
  • 强烈建议用 Git 管理每个练习项目
  • 遇到问题的正确顺序:官方文档 → Qt Forum → Stack Overflow。
  • 目标导向:从第 3 周开始,就朝着你最终想做的桌面软件方向靠拢(比如你想做视频播放器、图片处理工具、数据分析软件等)。

 

posted on 2026-06-02 10:07  淡若轻风  阅读(34)  评论(0)    收藏  举报