Qt C++开发学习路线

Qt C++开发学习路线

一. Qt C++编程与23种设计模式

1.1 C++语言基础

1.1.1 Visual Studio 2022安装

1.1.2 C++语言基础概述

1.1.3 C++指针与引用

1.1.4 C++类与对象(一)

1.1.5 C++类与对象(二)

1.1.6 类的基它特性

1.1.7 构造函数 & 析构函数 & 拷贝构造函数

1.1.8 C++友元与动态内存

1.1.9 函数重载与运算符重载

1.2 Qt C++语言进阶

1.2.1 单继承

1.2.2 多继承

1.2.3 虚继承及其它特性

1.2.4 虚函数与抽象类

1.2.5 命名空间与模板

1.2.6 C++ IO流类库

1.2.7 STL(vector & deque & stack)

1.2.8 STL(queue & set & map)

1.2.9 C++异常处理

1.3 Ot C++语言新特性

1.3.1类型推导:auto & decltype

1.3.2 序列for循环

1.3.3 lambda表达式

1.3.4 构造函数:委托构造和继承构造

1.3.5 容器 : array & forward list & tuple

1.3.6 垃圾回收机制

1.3.7 正则表达式基础

1.3.8智能指针:shared_ptr & unique_ptr & weak_ptr

1.3.9 关键字:nullptr & constexpr

1.3.10 共享内存 & 互斥量mutex

1.3.11 C+ +11 : STL hashmap

1.3.12 关联容器:unordered_map

1.3.13 function函数对象

1.3.14 atomic fag & atomic应用

1.3.15 条件变量:condition_variable

1.3.16 异常处理:exception

1.3.17 std: thread多线程

1.4 C++ 23种设计模式

1.4.1 创建型模式(5种)

1.4.1.1工厂模式
1.4.1.2 抽象工厂模式
1.4.1.3 原型模式
1.4.1.4 单例模式
1.4.1.5 建造者模式

1.4.2 结构型模式(7种)

1.4.2.1 适配器模式
1.4.2.2 桥接模式
1.4.2.3 组合实体模式
1.4.2.4 装饰器模式
1.4.2.5 外观模式
1.4.2.6 享元模式
1.4.2.7 代理模式

1.4.3 行为模式(11种)

1.4.3.1责任链模式
1.4.3.2 中介者模式
1.4.3.3 策略模式
1.4.3.4 模板模式
1.4.3.5 状态模式
1.4.3.6 观察者模式
1.4.3.7 备忘录模式
1.4.3.8 命令模式
1.4.3.9 访问者模式
1.4.3.10 解释器模式
1.4.3.11 迭代器模式

二. Qt编程入门到精通

2.1 Qt开发基础体系

2.1.1 Qt下载与安装配置

2.1.1.1 Windows Qt环境安装
2.1.1.2 Linux Qt环境安装

2.1.2 Qt Creator工具介绍与使用

2.1.3 Qt信号与槽机制

2.1.4 Qt字符串 & 数据类型 & 容器类

2.1.4.1 字符串类应用与常见数据类型
2.1.4.2 常用容器类
2.1.4.2.1 QMap类& QHash类& QVector类
2.1.4.2.2 QList类& QLinkedList类

2.1.5 QVariant类应用

2.1.6 常用算法及正则表达式

2.2 Qt开发常用控件详解

2.2.1 Layouts & Spacers

2.2.2 Buttons & Containers

2.2.3 Item Views

2.2.4 Item Widgets

2.2.5 Input Widgets

2.2.6 Display Widgets

2.3 Qt布局及对话框详解

2.3.1 布局管理

2.3.1.1 QLayout & QstackedWidget类
2.3.1.2 QSplitter类& QDockWidget类

2.3.2 对话框

2.3.2.1 文件对话框
2.3.2.2 颜色对话框
2.3.2.3 字体对话框
2.3.2.4 输入对话框
2.3.2.5 消息对话框
2.3.2.6 自己定义消息框

2.4 Qt图形&模型&视图

2.4.1 绘图原理双缓冲机制

2.4.2 Graphics View特性详解

2.4.3 ode & View & Delegate

2.5 Qt文件操作及事件处理

2.5.1 读写文件详解

2.5.2 目录操作及文件系统

2.5.2.1 QCoreApplication类
2.5.2.2 QFile类
2.5.2.3 QFileInfo类
2.5.2.4 QDir类
2.5.2.5 QTemporaryDir
2.5.2.6 QTemporaryFile

2.5.3 获取文件特性实现

2.5.4 鼠标及键盘事件

2.5.5 事件过滤处理分析

2.6 Qt服务应用操作

2.6.1 INI文件操作

2.6.2 JSON文件操作

2.6.3 XML文件操作

2.7 Qt网络及多线程

2.7.1 套接字编程API函数详解

2.7.2 UDP协议工作原理

2.7.2.1 TCP服务器设计
2.7.2.2 TCP客户端设计

2.7.3 TCP协议工作原理

2.7.3.1 UDP服务器设计
2.7.3.2 UDP客户端设计

2.7.4 多线程编程

2.7.4.1 互斥量
2.7.4.2 信号量
2.7.4.3 多线程C/S模型项日实战

2.7.5 HTTP协议编程

2.7.6 Websocket编程

2.8 Qt数据分析:图表

2.8.1 Qt图表基础知识

2.8.2 Qt ChartViewi解

2.8.3 Qt常用图表类型

2.8.3.1 曲线图
2.8.3.2 拆线图
2.8.3.3 柱形图
2.8.3.4 饼状图

2.9 QWebEngineView原理与项目实战

三. Qt高级进阶

3.1 数据库编程

3.1.1 MySQL数据库

3.1.1.1 数据库基础知识
3.1.1.2 MySQL基本操作
3.1.1.3 MySQL运算符
3.1.1.4 数据类型及存储引擎
3.1.1.5 表数据增 & 删 &改 &査 & 高级查询
3.1.1.6 MySQL流程控制语句
3.1.1.7 SQL语句详解
3.1.1.8索引
3.1.1.9 视图
3.1.1.10 存储过程和函数
3.1.1.11 触发器
3.1.1.12 事件
3.1.1.13 MySQL备份与恢复
3.1.1.14 Qt操作MySQL数据库实战

3.1.2 SQLite数据库

3.1.2.1 SQLite下载与安装配置
3.1.2.2 SQLite数据类型
3.1.2.3 SQLite创建数据库
3.1.2.4 SQLite附加&分离数据库分建三2叫作全手
3.1.2.6 SQLite insert语句
3.1.2.7 SQLite select吾何
3.1.2.8 SQLite语句详解
3.1.2.9 SQLite触发器
3.1.2.10 SQLite索引
3.1.2.11 sQLite视图
3.1.2.12 SQLite事务
3.1.2.13 Qt操作SQLite数据库实战

3.2 Qt OpenCV高级编程

3.2.1 OpenCv开发基础模块

3.2.1.1 OpenCV模块及环境配置
3.2.1.2 0penCV读取及写入图像
3.2.1.3 OpenCV中如何视频读写
3.2.1.4 Qt图像和视频处理
3.2.1.4.1 QImage类& QPixmap类& QPainter类
3.2.1.4.2 QImageReader与QImageWriter类
3.2.1.4.3 Qt中相机和视频处理技术
3.2.1.5 图形视图框架分析
3.2.1.5.1场景QGraphicsScene
3.2.1.5.2 对象元素QGraphicsItem
3.2.1.5.3 视图QGraphicsView
3.2.1.6 OpenCV图像分析处理
3.2.1.6.1 图像滤波及变换功能
3.2.1.6.2 OpenCV绘图 & 模板匹配
3.2.1.7 OpenCV视频分析处理
3.2.1.7.1 掌握直方图及反投影图像
3.2.1.7.2 MeanShift算法和CamShift算法

3.2.2 Open CV核心算法模块

3.2.2.1 图片美化
3.2.2.2 多图合成
3.2.2.3 图片旋转
3.2.2.4 图片智能识别
3.2.2.5 实战操作:OpenCV人脸识别
3.2.2.6 对比度增强:灰度直方图及线性变换
3.2.2.7 对比度增强:直方图正规化及伽马变换原理
3.2.2.8 对比度增强:全局直方图均衡化原理分析
3.2.2.9 图像平滑:二维离散卷积及高斯平滑
3.2.2.10 图像平滑:均值平滑及中值平滑
3.2.2.11边缘检测:Prewitt边缘检测和Sobel边缘检测
3.2.2.12 傅里叶幅度谱与相位谱
3.2.2.13 傅里叶变换计算卷积
3.2.2.14 霍夫直线检测原理及圆检测分析

3.3 Qt单元测试框架

3.3.1 QTestLib框架详解

3.3.2 数据驱动测试

3.3.3 简单性能测试

3.4 Qt应用程序打包及发布

3.4.1 发布QT应用程序

3.4.1.1 Debug编译与Release
3.4.1.2 动态库链接及依赖

3.4.2 打包Ot应用程序

3.4.2.1 InstallShield应用操作
3.4.2.2 inno打包基本功能和高级功能分析

四. Qt项目实战

4.1 文字编辑:Word处理软件

4.1.1 软件架构设计与需求分析

4.1.2 Word软件窗口框架布局

4.1.3 Word文件窗囗设计

4.1.4 Word软件菜单栏设计

4.1.4.1文件主菜单
4.1.4.2 编辑主菜单
4.1.4.3 格式主菜单
4.1.4.4 窗口主菜单
4.1.4.5 帮助主菜单

4.1.5 Word工具栏按钮设计

4.1.5.1 新建文档
4.1.5.2 打开文档
4.1.5.3 保存文档
4.1.5.4 另存为功能
4.1.5.5 打印 & 打印预览文档
4.1.5.6 剪切功能
4.1.5.7 复制功能
4.1.5.8 粘贴功能
4.1.5.9 字体加粗
4.1.5.10 斜体字
4.1.5.11 下划线
4.1.5.12 字体颜色功能
4.1.5.13 左对齐功能
4.1.5.14 右对齐功能
4.1.5.15 居中对齐功能
4.1.5.16 两端对齐功能

4.2 即时通讯:腾讯QQ客户端软件

4.2.1 即时通讯项目简介

4.2.2 QQ客户端登录设计

4.2.3 QQ登录窗口翻转效果实现

4.2.4 IP地址控件设置

4.2.5 主界面及窗口移动实现

4.2.6 QQ登录逻辑业务处理分析

4.2.7 项目全局类定义与实现设

4.2.8 完善MainWindow及托盘技术

4.2.9 QQ好友组及UI效果实现

4.2.10 QQ聊天窗口和排版设计

4.2.11 头像裁剪技术

4.2.12 音频技术分析与实现

4.2.13 QQ添加好友逻辑业务处理

4.2.14 QQ聊天逻辑处理分析

4.2.15 消息时序图和头像截图处理技术

4.2.16 即时通讯群组功能实现

4.2.17 QQ表情与gif图片处理技术

4.2.18 文件上传功能实现

4.2.19 QQ文件传输技术

4.2.20 QQ头像显示与添加好友显示实现

4.3 音频项目:MP3音乐播放器

4.3.1 播放器UI框架设计

4.3.2 歌曲播放列表设计

4.3.3 当前播放列表实现

4.3.4 本地歌曲列表实现

4.3.5 添加自己喜欢歌曲

4.3.6 按歌曲名称 & 时长 & 歌手排序

4.3.7 添加歌曲到播放列表

4.3.8 删除本地音乐实现

4.3.9 播放器皮肤背景切换

4.3.10 系统托盘技术功能实现

4.4 管理项目:库存管理系统(Qt5+MySQL)

4.4.1 商品管理系统功能需求分析

4.4.1.1 系统登录功能
4.4.1.2 商品入库功能
4.4.1.3 预售订单功能

4.4.2 商品管理系统界面架构设计

4.4.2.1 系统总体设计
4.4.2.2 系统登录设计
4.4.2.3 新品入库设计
4.4.2.4 预售订单设计

4.4.3 商品管理系统功能实现

4.4.3.1 系统登录功能分析与实现
4.4.3.2 系统主体程序框架分析与实现
4.4.3.3 系统初始化界面功能实现
4.4.3.4 新品入库功能分析与实现
4.4.3.5 预售订单功能分析与实现
4.4.3.6 数据备份与还原分析与实现

五. Qt开发工程师提升

5.1 Qt开发工程师之Quick模块

5.1.1 QML基础知识

5.1.1.1 QML语言基础知识
5.1.1.2 QML元素1 : Image & Rectangle & Text
5.1.1.3 QML元素2 : ButtonStyle & Item & BusyIndicator

5.1.2 Quick事件处理

5.1.2.1 键盘事件
5.1.2.2 鼠标事件
5.1.2.3 定时器
5.1.2.4 触摸事件

5.1.3 Quick组件及元素布局

5.1.3.1 Component & Loader
5.1.3.2 定位器及布局管理器

5.1.4 Quick开发常用元素及Canvas(画布)

5.1.4.1 行编辑及文本块详解
5.1.4.2 CheckBox & GroupBox & TabView
5.1.4.3 画布 & 画笔 & 画刷 &图元
5.1.4.4 绘制路径 & 绘制文本及图片 & 变换及剪切

5.1.5 动画及Mode/View

5.1.5.1 动画常用元素
5.1.5.1.1 Animation &PropertyAnimation &NumberAnimation
5.1.5.1.2 ColorAnimation & PathAnimation & SpringAnimation
5.1.5.1.3 组合动画部分:ParallelAnimation & SequentialAnimation
5.1.5.1.4动画协同元素:Behavior & ParentAnimation & AnchorAnimation
5.1.5.2 Mode/View
5.1.5.2.1 ListView & XmlListModel & TableView
5.1.5.2.2 GridView & PathView & Repeater

5.1.6 Loader动态加载组件

5.1.7 Qt Quick导航视图应用

5.2 Qt开发工程师之Qss模块

5.2.1 QSS辅助工具及皮肤生成器下载

5.2.2 QSS选择器类型

5.2.2.1 类型选择器 & 通配选择器 & 属性选择器
5.2.2.2 ID选择器 & 类选择器 & 子选择器 & 伪类选择器

5.2.3 QSS开发常用属性

5.2.3.1 字体 & 属性 & 背景
5.2.3.2 内边距 & 外边距 & 边框 & 宽高

5.2.4 QSS伪状态及子控件详解

5.2.5 QSS实战开发1:按钮及关联菜单

5.2.6 QSS实战开发2:QRadioButton & QCheckBox

5.2.7 QSS实战开发2:QLineEdit及自动补全

5.2.8 QSS实战开发3:定制QComboBox组合框控件

5.3 Qt开发工程师之核心技术实现

5.3.1 QtConcurrent线程处理(过滤和映射)

5.3.2 Phonon多媒体框架分析

5.3.3 Qt之Webkit框架分析

5.3.3.1 QtWebKit API
5.3.3.2 WebKit Engin
5.3.3.3 Qt Platform

5.3.4 QTextDocument原埋及富文本实现

5.3.5 QStandardtemModel原理与应用

5.3.6 Qt模型视图框架QAbstractitemView类分析

5.4 项目实战:FFmpeg+Qt视频播放器

5.4.1 播放器项目需求分析

5.4.2 Player Ul主界面设计

5.4.3 播放文件Title设计实现

5.4.4 控制条CtrlBar设计实现

5.4.5 播放文件列表Playlist实现

5.4.6 播放器模块分析与设计

5.4.7 打通UI到播放器核心的通道-消息队列

5.4.8 打通UI到播放器核心的通道-类名和接口

5.4.9 状态处理:stream_open和stream_close

5.4.10 解复用&数据读取read thread设计

5.4.11解码线程Decoder封装

5.4.12 音频输出及视频渲染输出

5.4.13 音视频同步原理与技术详解

  • 21
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值