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 程序从项目创建、入口函数、事件循环到窗口显示是怎样跑起来的。
- 信号槽、对象树、主窗口、对话框、布局和常用控件如何共同组织交互界面。
- 事件、绘图、资源和文件系统如何把“静态界面”扩展成真正可运行的应用。
qmake 与 CMake 分别解决什么问题,迁移时应关注哪些工程边界。
推荐复习顺序
- [[Qt框架与项目结构]]
- [[Qt信号槽与对象模型]]
- [[Qt窗口与界面布局]]
- [[Qt事件绘图与文件系统]]
模块地图
- [[Qt框架与项目结构]]:Qt 定位、跨平台特性、项目创建、
.pro、QApplication、首个窗口程序、资源系统与构建迁移。
- [[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(),却不清楚模态、非模态、栈对象与堆对象的生命周期差异。
- 把绘图、资源系统、文件系统看成附属功能,结果做不出完整可维护的桌面程序。
- 把
qmake 和 CMake 当成语法替换,不先辨认模块、资源、源文件和构建目标的映射关系。
- 只会按教程写示例窗口,不把 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]]