Qt.md 4.4 KB


title: Qt tags:

  • topic
  • qt
  • cpp
  • joplin type: topic source_type: reconstructed created: 2026-04-23 updated: 2026-04-27 aliases:
  • Qt重构 ---

Qt

[!abstract] 本主题重构自 使用Qt和C++构造UI界面 系列笔记,并补充接入 加解密客户端(Qt+LibreSSL) 项目文档。重点不是只记控件 API,而是把 Qt 作为一套“对象模型 + 事件循环 + 窗口组织 + 构建系统”的 GUI 框架来理解。

这门主题在解决什么问题

  • Qt 为什么能作为 C++ GUI 开发的基础框架,而不仅是一组零散控件。
  • 一个 Qt 程序从项目创建、入口函数、事件循环到窗口显示是怎样跑起来的。
  • 信号槽、对象树、主窗口、对话框、布局和常用控件如何共同组织交互界面。
  • 事件、绘图、资源和文件系统如何把“静态界面”扩展成真正可运行的应用。
  • qmakeCMake 分别解决什么问题,迁移时应关注哪些工程边界。

推荐复习顺序

  1. [[Qt框架与项目结构]]
  2. [[Qt信号槽与对象模型]]
  3. [[Qt窗口与界面布局]]
  4. [[Qt事件绘图与文件系统]]

模块地图

  • [[Qt框架与项目结构]]:Qt 定位、跨平台特性、项目创建、.proQApplication、首个窗口程序、资源系统与构建迁移。
  • [[Qt信号槽与对象模型]]:[[Qt信号与槽]]、[[Qt对象树]]、连接规则、自定义信号槽、Lambda 写法与对象生命周期。
  • [[Qt窗口与界面布局]]:[[QMainWindow]]、[[QDialog]]、[[Qt布局管理]]、常用控件和自定义控件提升。
  • [[Qt事件绘图与文件系统]]:[[Qt事件机制]]、[[QPainter]]、绘图设备、资源文件、文件读写与路径处理。

关键概念

  • [[Qt信号与槽]]
  • [[Qt对象树]]
  • [[QMainWindow]]
  • [[QDialog]]
  • [[Qt布局管理]]
  • [[Qt事件机制]]
  • [[QPainter]]
  • [[Qt文件系统]]
  • [[QMake与CMake迁移]]

常见误区

  • 把 Qt 理解成“拖控件做界面”的工具,而不是一套完整的对象与事件框架。
  • 只会写 connect,不理解信号槽是建立解耦关系的机制。
  • parent 理解成继承关系,而不是对象树和生命周期管理关系。
  • 用绝对坐标硬摆控件,不借助布局管理,导致窗口一变尺寸就失真。
  • 只会调用 show(),却不清楚模态、非模态、栈对象与堆对象的生命周期差异。
  • 把绘图、资源系统、文件系统看成附属功能,结果做不出完整可维护的桌面程序。
  • qmakeCMake 当成语法替换,不先辨认模块、资源、源文件和构建目标的映射关系。
  • 只会按教程写示例窗口,不把 Qt 工程能力迁移到真实项目文档和功能流程分析中。

来源范围

  • [[raw/Joplin/编程学习项目/使用Qt和C++构造UI界面/1. Qt概述.md]]
  • [[raw/Joplin/编程学习项目/使用Qt和C++构造UI界面/2. 创建Qt项目.md]]
  • [[raw/Joplin/编程学习项目/使用Qt和C++构造UI界面/3. 第一个Qt小程序.md]]
  • [[raw/Joplin/编程学习项目/使用Qt和C++构造UI界面/4. 信号和槽机制.md]]
  • [[raw/Joplin/编程学习项目/使用Qt和C++构造UI界面/5. QMainWindow.md]]
  • [[raw/Joplin/编程学习项目/使用Qt和C++构造UI界面/6. 对话框QDialog.md]]
  • [[raw/Joplin/编程学习项目/使用Qt和C++构造UI界面/7. 布局管理器.md]]
  • [[raw/Joplin/编程学习项目/使用Qt和C++构造UI界面/8. 常用控件.md]]
  • [[raw/Joplin/编程学习项目/使用Qt和C++构造UI界面/9. Qt消息机制和事件.md]]
  • [[raw/Joplin/编程学习项目/使用Qt和C++构造UI界面/10 绘图和绘图设备.md]]
  • [[raw/Joplin/编程学习项目/使用Qt和C++构造UI界面/11 文件系统.md]]
  • [[raw/Joplin/编程学习项目/使用Qt和C++构造UI界面/附录1 从 QMake 迁移到 CMake 详细记录.md]]
  • [[raw/Joplin/编程学习项目/使用Qt和C++构造UI界面/附录2 CMake 模板.md]]
  • [[raw/Joplin/实际项目开发文档/加解密客户端(Qt+LibreSSL)/1.项目源代码.md]]
  • [[raw/Joplin/实际项目开发文档/加解密客户端(Qt+LibreSSL)/2.项目功能流程分析.md]]
  • [[raw/Joplin/实际项目开发文档/加解密客户端(Qt+LibreSSL)/3.项目开源协议_.md]]
  • [[raw/Documents/Qt 6 C++开发指南 (王维波 栗宝鹃 侯春望) (Z-Library)/Qt 6 C++开发指南 (王维波 栗宝鹃 侯春望) (Z-Library).md]]

相关入口

  • [[Documents资料库]]
  • [[joplin-overview]]
  • [[joplin-rebuild-schema]]