当前位置: 首页 > news >正文

C++ Qt开发成长之路,从入门到企业级实战项目,保姆级学习路线

Qt 介绍

Qt是一个跨平台的C++图形用户界面应用程序开发框架,最初由挪威的Trolltech公司开发,后来被诺基亚收购,现在由Qt公司维护。它提供了丰富的工具和类库,使开发者能够轻松地创建各种类型的应用程序,包括桌面应用、移动应用、嵌入式应用和即时通讯软件等。

Qt官网:https://www.qt.io/

Qt 特点

  • 跨平台性: Qt的应用程序可以轻松地在各种操作系统上运行,包括Windows、macOS、Linux、iOS和Android等。

  • 丰富的类库: Qt提供了大量的类库,涵盖了从图形界面到网络编程等各种功能,开发者可以利用这些类库来快速构建应用程序。

  • 信号与槽机制: Qt引入了信号与槽机制,这是一种非常灵活的事件处理方式,能够简化程序的逻辑设计。

  • 良好的文档和社区支持: Qt拥有完善的文档和活跃的社区支持,开发者可以轻松地获取到相关的教程、示例代码和帮助文档。

  • 可视化设计工具: Qt提供了Qt Creator等可视化的集成开发环境,方便开发者进行界面设计和代码编写。

Qt被广泛应用于各种领域,包括桌面应用程序、移动应用程序、游戏开发、工业控制、医疗设备、汽车电子等,是一个非常强大且灵活的开发框架。

使用 Qt 开发的知名商业项目

  • VirtualBox: 一款开源的虚拟化软件,使用Qt作为其图形用户界面工具包。

  • Autodesk Maya: 一款专业的3D建模、动画和渲染软件,部分使用了Qt进行界面开发。

  • Google Earth: 这款虚拟地球软件的桌面版本(Google Earth Pro)使用了Qt作为其图形用户界面工具包。

  • MATLAB: 数值计算软件MATLAB的桌面版本中,使用了Qt作为其图形用户界面工具包。

  • KDE桌面环境: KDE是一个开源的桌面环境,包括一系列的应用程序和工具,其中很多应用程序使用了Qt进行开发。

  • Wireshark: 开源的网络协议分析工具,使用了Qt进行界面开发。

  • RStudio: 一款专业的用于R语言编程的集成开发环境(IDE),使用Qt进行界面设计。

  • Qt Creator: Qt自己的集成开发环境,完全基于Qt开发。

  • WPS、腾讯会议、优酷、YY语音、剪映、万兴喵影、亿图脑图、福昕软件等等。

使用 Qt 开发的开源项目

  • VLC media player: 开源的跨平台多媒体播放器,使用Qt进行界面设计,可以播放绝大部分格式文件,以及 rtmp,rtsp 推拉流。

  • OBS Studio: 开源的跨平台直播流和录制软件,用于创建高质量的实时视频和音频内容,提供一种简单而功能强大的工具,使用户能够轻松地进行直播流媒体和录制视频。

  • Shotcut:开源的跨平台视频编辑软件,易于使用但功能强大的视频编辑工具,适用于各种用户,包括初学者和专业用户。

Qt的发展前景

Qt 在各个行业的应用逐渐广泛起来,对于掌握 Qt 开发技能的人员需求也在不断增加,因此在就业方面,相对于其他行业来说,Qt 就业面更广,选择性更多。 同时Qt 作为一项专业技能,掌握此项技术的开发者获得的薪资报酬也是非常可观的,具有更多的职业发展机会。

Qt 学习大纲

1.基础专栏

1.1 Qt 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 Qt 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_flag & atomic应用

  • 1.3.15 条件变量:condition_variable

  • 1.3.16 异常处理: exception

  • 1.3.17 is_integral应用实战

  • 1.3.18 is_rvalue_reference应用实战

  • 1.3.19 is_arithmetic应用实战

  • 1.3.20 is_volatile应用实战

  • 1.3.21 is_class应用实战

  • 1.3.22 变量模板

  • 1.3.23 inline应用实战

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 迭代器模式

2.提高专栏

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 Mode & 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 Qt网络编程知识体系

2.7.2 TCP协议工作原理及实战

  • 2.7.2.1 TCP服务器设计与实现

  • 2.7.2.2 TCP客户端设计与实现

2.7.3 UDP协议工作原理及实战

  • 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图表详解 & QML &多媒体

  • 2.8.1 QtChart图表及曲线图

  • 2.8.2 折线图_柱形图_饼状图

  • 2.8.3 QML基础编程应用实战

  • 2.8.4 Qt音频编程实战项目

  • 2.8.4 Qt视频编程实战项目

2.9 Qt应用程序打包

  • 2.9.1 Qt Creator将应用程序生成Release版本

  • 2.9.2 Enigma Virtual Box将Qt程序打包成EXE

2.10 QML开发常用技术

  • 2.10.1 QML基础知识分析

  • 2.10.2 QML鼠标与事件处理

  • 2.10.3 QML布局管理Layout

  • 2.10.4 Quick Canvas元素

  • 2.10.5 Quick动画基础知识

  • 2.10.6 Widget自定义按钮实战操作

  • 2.10.7 Loader动态加载组件

  • 2.10.8 QML高级编程【下拉菜单实战]

3.进阶专栏

3.1 Quick开发常用技术模块

3.1.1 QML基础知识

  • 3.1.1.1 QML语言基础

  • 3.1.1.2 QML元素1: Image & Rectangle & Text

  • 3.1.1.3 QML元素2 : ButtonStyle & Item & BusyIndicator

3.1.2 Quick事件处理

  • 3.1.2.1键盘事件

  • 3.1.2.2鼠标事件

  • 3.1.2.3 定时器

3.1.3 Quick组件及元素布局

  • 3.1.3.1 Component & Loader

  • 3.1.3.2定位器及布局管理器

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

  • 3.1.4.1 TextField & TextArea &TextInput

  • 3.1.4.2 CheckBox & GroupBox&TabView

  • 3.1.4.3 Canvas(画布)绘制图形

3.1.5 动画及Mode & View

  • 3.1.5.1 动画常用元素

  • 3.1.5.1.1 Animation & PropertyAnimation & NumberAnimation

  • 3.1.5.1.2 ColorAnimation & PathAnimation & SpringAnimation

  • 3.1.5.1.3 组合动画部分:ParallelAnimation & SequentialAnimation

  • 3.1.5.1.4 动画协同元素:Behavior & ParentAnimation &AnchorAnimation

3.2 QSS开发常用技术模块

  • 3.2.1 QSS实战开发1: QSS作用及应用场景

  • 3.2.2 QSS实战开发2:QSS常用基本语法

  • 3.2.3 QSS实战开发3:QSS控件样式QLabel & QLineEdit & QPushButton

  • 3.2.4 QSS实战开发4:QSS控件样式QComboBox

  • 3.2.5 QSS实战开发5:QSS控件样式QTableWidget

  • 3.2.6 QSS实战开发6: QSS控件样式QProgressBar

  • 3.2.7 QSS实战开发7:QSS控件样式QSlider

  • 3.2.8 QSS实战开发8:QSS控件样式CheckBox

  • 3.2.9 QSS实战开发9: Ubuntu系统控件风格

  • 3.2.10 QSS实战开发10:Mac系统控件风格

3.3 Qt开发必用技术模块

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

  • 3.3.2 Qt之QWebEngineView框架分析

  • 3.3.3 Qt生成及读取XML文件及应用实战

3.4 MySQL数据库编程技术

  • 3.4.1 数据库基础知识

  • 3.4.2 MySQL基本操作

  • 3.4.3 MySQL运算符

  • 3.4.4 数据类型及存储引擎

  • 3.4.5 表数据增 &删&改&查& 高级查询

  • 3.4.6 MySQL流程控制语句

  • 3.4.7 SQL语句详解

  • 3.4.8 索引

  • 3.4.9 视图

  • 3.4.10 存储过程和函数

  • 3.4.11 触发器

  • 3.4.12 事件

  • 3.4.13 MySQL备份与恢复

  • 3.4.14 Qt操作MySQL数据库实战

3.5 SQLite数据库编程技术

  • 3.5.1 SQLite下载与安装配置

  • 3.5.2 SQLite 创建数据库

  • 3.5.3 SQLite 附加&分离数据库

  • 3.5.4 SQLite 数据类型

  • 3.5.5 SQLite 创建表&删除表

  • 3.5.6 SQLite insert into语句详解

  • 3.5.7 SQLite select & update & delete语句

  • 3.5.8 SQLite Distinct & Orderby & Groupby

  • 3.5.9 SQLite 触发器

  • 3.5.10 SQLite 索引

  • 3.5.11 SQLite 视图

  • 3.5.12 SQLite 事务

  • 3.5.13 Qt操作SQLite数据库实战

3.6 OpenCV编程开发常用技术

  • 3.6.1 OpenCV与VS2022环境搭建

  • 3.6.2 OpenCV常见API及绘图详解

  • 3.6.3 OpenCV图像读写技术

  • 3.6.4 OpenCV视频读写技术

  • 3.6.5 OpenCV图像滤波技术

  • 3.6.6 OpenCV视频录制技术

  • 3.6.7 OpenCV图像翻转技术

  • 3.6.8 OpenCV图像旋转技术

  • 3.6.9 OpenCV实现窗口置顶

  • 3.6.10 OpenCV边缘检测技术1

  • 3.6.11 OpenCV边缘检测技术2

  • 3.6.12 OpenCV向上向下采样

  • 3.6.14 OpenCV形态学之膨胀

  • 3.6.15 OpenCV图像浮雕技术

  • 3.6.16 OpenCV图像人脸识别

4.项目实战专栏1

4.1【智汇协同Office办公软件V3.0】原生代码实现

  • 4.1.1 HTML文字编辑软件--项目需求及简介

  • 4.1.2菜单栏_工具栏_状态栏功能模块设计

  • 4.1.3 菜单栏_工具栏_状态栏功能与实现

  • 4.1.4系统模块整体功能关联与实现

  • 4.1.5 HTML文件编辑软件调试及测试

  • 4.1.6软件模块测试及打包程序

4.2【TCP/UDP协议网络调试助手V3.0】

  • 4.2.01 TCP/UDP协议网络调试助手--项目需求及简介

  • 4.2.02 TCP服务器端:启动监听、停止监听、高DPI适配

  • 4.2.03 TCP服务器端:客户端管理QList<QTcpSocket*>、消息广播

  • 4.2.04 TCP服务器端:多客户端并发连接、日志管理等功能

  • 4.2.05 TCP客户端:连接管理、消息收发

  • 4.2.06 TCP客户端:自动化测试(QTimer)、错误处理等功能

  • 4.2.07 UDP服务器端:监听UDP数据报、单播和组播模式

  • 4.2.08 UDP服务器端:客户端响应、日志管理等功能

  • 4.2.09 UDP客户端:单播/组播通信、消息格式化验证等功能

  • 4.2.10 软件模块测试及打包程序

4.3【C/S架构系统--文件传输工具 V2.0】

  • 4.3.01 服务器:项目需求及简介,UI界面设计与获取IP地址

  • 4.3.02 服务器:处理客户端连接请求实现

  • 4.3.03 服务器:收发双方消息设计与实现

  • 4.3.04 服务器:处理接收文件传输及进度条实现

  • 4.3.05 服务器:处理分辨率及项目测试上线

  • 4.3.06 客户端:C/S架构系统介绍及安装环境

  • 4.3.07 客户端:系统UI界面设计与实现

  • 4.3.08 客户端:系统函数设计与获取IP地址

  • 4.3.09 客户端:连接与断开,读取服务器socket消息

  • 4.3.10 客户端:发送消息及日期时间处理

  • 4.3.11 客户端:传输文件及进度条状态更新

  • 4.3.12 客户端:系统托盘技术设计与实现

  • 4.3.13 软件模块测试及打包程序

4.4【中英文智语翻译软件V1.0】第三方API接口

  • 4.4.1 中英文智语翻译软件--项目需求及简介

  • 4.4.2 申请成为第三方个人开发者

  • 4.4.3 阅读API接口文档说明

  • 4.4.4 APP ID和密钥及拼接处理计算签名

  • 4.4.5 解析JSON数据及翻译日志文件实现

  • 4.4.6 软件模块测试及打包程序

4.5【商品库存智能管理系统V2.0】

  • 4.5.1 项目需求及简介,商品库存数据库设计与实现,配置测试

  • 4.5.2 库存商品添加设计与实现

  • 4.5.3 库存商品查询设计与实现

  • 4.5.4库存商品删除设计与实现

  • 4.5.5 商品信息实现数据报表

  • 4.5.6商品信息出库设计与实现

  • 4.5.7库存商品汇总设计与实现

  • 4.5.9 软件模块测试及打包程序

4.6【企业员工信息管理系统V2.0】

  • 4.6.1项目需求及简介,开发资料下载

  • 4.6.2 Player UI主界面设计

  • 4.6.3 Navicat操作数据库及系统UI设计与实现

  • 4.6.4初始化数据及输出员工记录信息

  • 4.6.5 添加员工信息设计与实现

  • 4.6.6删除员工信息设计与实现

  • 4.6.7 修改员工信息设计与实现

  • 4.6.8查询员工信息设计与实现

  • 4.6.9 软件模块测试及打包程序

4.7 【搜畅听宝MP3音乐播放器V3.0】

  • 4.7.01 播放器搜索引擎--项目需求及简介

  • 4.7.02 系统架构及UI界面设计与实现

  • 4.7.03 播放器拖动及关于窗口设计与实现

  • 4.7.04 HTTP请求_JSON数据解析功能实现

  • 4.7.05 QJsonDocument/QJsonObject应用技巧

  • 4.7.06导入本地MP3音乐功能设计与实现

  • 4.7.07 播放歌曲_暂停播放_停止播放功能实现

  • 4.7.08播放上一曲_播放下一曲_静音功能实现

  • 4.7.09 控制播放进度及LCD时间动态设计与实现

  • 4.7.10 歌曲信息动态字幕功能设计与实现

  • 4.7.11 软件模块测试及打包程序

4.8【畅视聚媒视频播放器V2.0】

  • 4.8.01 畅视聚媒视频播放器--项目需求分析

  • 4.8.02 视频播放控制7种功能实现

  • 4.8.03 播放列表(视频添加/删除/播放等功能)

  • 4.8.04 视频播放预览功能设计与实现

  • 4.8.05 网络流媒体播放(URL验证等功能)

  • 4.8.06 播放历史记录管理(添加/清除/历史查看)

  • 4.8.07 全屏播放(普通窗口/全局窗口)

  • 4.8.08 音频控制(音量控制、静音切换)

  • 4.8.09 快捷键(左右键/ESC建/M键等实现基本操作)

  • 4.8.10播放模式(顺序播放,列表/单曲/随机播放)

  • 4.8.11 配置管理:写入及读取配置文件

5.项目实战专栏2

5.1【航空公司机票预订系统V1.0】

  • 5.1.01 机票预订--项目需求分析

  • 5.1.02 普通用户注册及登录实现

  • 5.1.03 后台系统管理中心:订单信息查询、修改、删除

  • 5.1.04 后台系统管理中心:旅客信息查询、修改、删除

  • 5.1.05 后台系统管理中心:航班信息查询(日期查询)

  • 5.1.06 后台系统管理中心:航班信息查询(航班号查询)

  • 5.1.07 后台系统管理中心:航班信息修改、删除

  • 5.1.08 旅客信息管理中心:个人信息(订单:已支付)

  • 5.1.09 旅客信息管理中心:订单中心(订单:已支付)

  • 5.1.10 旅客信息管理中心:订单中心(订单:未支付)

  • 5.1.11 旅客信息管理中心:订单中心(退订订单、删除订单)

  • 5.1.12 旅客信息管理中心:航班查询及订票实现

  • 5.1.13 软件模块测试及打包程序

5.2【智瞳多维人脸识别系统V1.0】

  • 5.2.01 人脸识别--项目需求分析

  • 5.2.02 阅读API接口文档说明

  • 5.2.03 设备采集视频数据设计与实现

  • 5.2.04 注册人脸设计与实现

  • 5.2.05 人脸库训练设计与实现

  • 5.2.06 视频采集人脸与人脸库比对

  • 5.2.07 软件模块测试及打包程序

5.3【WebFileServer架构系统V1.0】

  • 5.3.01 WebFileServer--项目需求分析

  • 5.3.02文件上传功能设计与实现

  • 5.3.03 文件下载功能设计与实现

  • 5.3.04文件删除功能设计与实现

  • 5.3.05 文件列表展示功能设计与实现

  • 5.3.06 HTTP请求处理设计与实现

  • 5.3.07 HTTP响应处理设计与实现

  • 5.3.08 技术体系: socket、epoll、线程池、HTTP协议解析

  • 5.3.09 软件模块测试及打包程序

5.4【C/S架构企业实时通信平台V1.0】

  • 5.4.01 项目需求分析,后台管理:UI设计与实现

  • 5.4.02后台管理:用户信息管理模块

  • 5.4.03 后台管理:用户权限修改

  • 5.4.04 后台管理:数据信息安全备份

  • 5.4.05 客户端:登录设计与实现

  • 5.4.06 客户端:窗口翻转切换效果实现

  • 5.4.07 客户端:登录IP与端口设置

  • 5.4.08 客户端:UI及窗口移动实现

  • 5.4.09 客户端:登录逻辑业务处理分析

  • 5.4.10客户端:系统托盘技术实现

  • 5.4.11 客户端: 好友组及UI效果设计与实现

  • 5.4.12 客户端:聊天信息窗口设计与实现

  • 5.4.13客户端:个人图像更换及裁剪实现

  • 5.4.14 客户端:聊天逻辑处理分析

  • 5.4.15 客户端:个人表情及gif图片处理

  • 5.4.16 客户端:文件上传功能实现

  • 5.4.17 客户端:文件传输设计与实现

  • 5.4.18 软件模块测试及打包程序

5.5 【DeepSeekAssistant软件 V1.0】

  • 5.5.01 DeepSeekAssistant--项目需求分析

  • 5.5.02 申请成为第三方个人开发者

  • 5.5.03 阅读API接口文档说明

  • 5.5.04 如何创建API Key

  • 5.5.05 项目接入DeepSeek API模块

  • 5.5.06 SQLite数据库存储提问及回答设计与实现

  • 5.5.07 整体项目UI布局设计与实现

  • 5.5.08 网络通信:HTTP请求与接收

  • 5.5.09 UI界面美化:QSS实现

  • 5.5.10 综合控件应用:QLineEdit、QTextEdit、QProgressBar等

  • 5.5.11 计时器综合应用:QElapsedTimer、QTimer等

  • 5.5.12 软件模块测试及打包程序

5.6 【汽车中控汽车仪表盘 V1.0】

  • 5.6.01 仪表盘--项目需求分析

  • 5.6.02 速度表:实时车速

  • 5.6.03 速度表:圆形表盘数字

  • 5.6.04 速度表:渐变指针等

  • 5.6.05 转速表:发动机转速

  • 5.6.06 转速表:刻度分段警示

  • 5.6.07 转速表:当前转速数值及单位

  • 5.6.08 油量表设计与实现

  • 5.6.09 温度表设计与实现

  • 5.6.10 左右转向指示灯设计与实现

  • 5.6.11 数据层:模拟数据生成

  • 5.6.12 数据层:动画控制引擎

5.7【操作系统绘图软件V1.0】

  • 5.7.01 绘图软件--项目需求分析

  • 5.7.02 整个软件框架设计与实现

  • 5.7.03 菜单栏:文件设计与实现

  • 5.7.04 菜单栏:编辑设计与实现

  • 5.7.05 菜单栏:绘图指令设计与实现

  • 5.7.06 菜单栏:工具设计与实现

  • 5.7.07 指令面板:选择工具、橡皮擦工具设计与实现

  • 5.7.08 指令面板:放大镜工具、笔工具工具设计与实现

  • 5.7.09 指令面板:直线工具、喷笔工具设计与实现

  • 5.7.10 指令面板:填充工具、矩形工具、画圆工具设计与实现

  • 5.7.11 指令面板:文本工具设计与实现

  • 5.7.12 指令面板:绘图区域前景和背景色设计与实现

  • 5.7.13 综合状态栏设计与实现

  • 5.7.14 软件模块测试及打包程序

以上是系统学习课程大纲,需要系统学习添加贝贝老师602878196(备注123)咨询。其次你把整个内容,全部消化,是完全可以胜任任何C++ qt开发岗位的。

Qt 参考书籍资料

  • 《Qt C++编程从入门到实战》主编:彭源

  • 《Qt 5编程入门第2版》编著:程梁霍亚飞

  • 《嵌入式Qt开发项目教程》编著:王浩 著 王浩

  • 《Qt Quick核心编程》编著:安晓辉

  • 《零基础学Qt4编程》作者:吴迪著

  • 《C++并发编程实战(第2版)》作者:[英]安东尼·威廉姆

  • 《C++20实践入门(第6版)》作者:[比] 艾弗·霍尔顿(Ivor Horton)

  • 《OpenCV算法精解》作者:张平.编著

  • 《Qt圾Qt Quick开发实战精解》编著:霍亚飞

  • 《C++ GUI Qt 4编程 第二版》作者:Jasmin Blanchette & Mark Summerfield

自学的弊端:网上资料繁杂,知识零碎,看过之后容易很快就忘掉,遇到问题只能自己钻研,有些很简单的问题不知不觉就浪费了很多时间,除非你是定力耐心毅力非常强的人,不然学习起来会没有方向感,盲目的看书枯燥乏味耗时比较长,会导致没有学习积极性失去信心与坚持下去的决心等等。总的来说自学不能说完全不行,只是适合少数人,自学的难度比报班系统学习一定是困难很多很多倍,多付出很多很多倍的。

最后:

给校招的小伙伴一句话:第一份工作不亚于一次高考,珍惜校招,社招的竞争是你目前想象不到的。能去大厂觉不妥协,IT行业第一份工作背景越好,起点越高,后续发展空间越好!

给那些1-3年的安于现状的伙伴一句话:

不要抱怨市场,不要安于现状,在低端,往中端领域看,在中端,往高端领域看。认知以及对自身的要求,都会有所改变。

给那些担心35岁的伙伴一句话:

决定上限的不是年纪,而是技术。最后:希望学习路线对你有所帮助,希望码农的我们越来越好!

相关文章:

C++ Qt开发成长之路,从入门到企业级实战项目,保姆级学习路线

Qt 介绍 Qt是一个跨平台的C图形用户界面应用程序开发框架&#xff0c;最初由挪威的Trolltech公司开发&#xff0c;后来被诺基亚收购&#xff0c;现在由Qt公司维护。它提供了丰富的工具和类库&#xff0c;使开发者能够轻松地创建各种类型的应用程序&#xff0c;包括桌面应用、移…...

JavaWeb后端基础(7)AOP

AOP是Spring框架的核心之一&#xff0c;那什么是AOP&#xff1f;AOP&#xff1a;Aspect Oriented Programming&#xff08;面向切面编程、面向方面编程&#xff09;&#xff0c;其实说白了&#xff0c;面向切面编程就是面向特定方法编程。AOP是一种思想&#xff0c;而在Spring框…...

Uniapp实现地图获取定位功能

摘要&#xff1a;本文将手把手教你如何在Uniapp项目中集成地图功能、实现定位获取&#xff0c;并解决微信小程序、APP、H5三端的兼容性问题&#x1f680;&#x1f680;&#x1f680; 一、环境准备 地图平台选择 微信小程序&#xff1a;腾讯地图&#xff08;强制使用&#xff09…...

批量将 Excel 转换 PDF/Word/CSV以及图片等其它格式

Excel 格式转换是我们工作过程当中非常常见的一个需求&#xff0c;我们通常需要将 Excel 转换为其他各种各样的格式。比如将 Excel 转换为 PDF、比如说将 Excel 转换为 Word、再比如说将 Excel文档转换为图片等等。 这些操作对我们来讲都不难&#xff0c;因为我们通过 Office 都…...

Flutter:StatelessWidget vs StatefulWidget 深度解析

目录 1. 引言 2. StatelessWidget&#xff08;无状态组件&#xff09; 2.1 定义与特点 2.2 代码示例 3. StatefulWidget&#xff08;有状态组件&#xff09; 3.1 定义与特点 3.2 代码示例 4. StatelessWidget vs StatefulWidget 对比 5. StatefulWidget 生命周期 5.1…...

Stream流学习

Stream流 把数据放进stream流水线&#xff0c;对数据进行一系列操作&#xff08;中间方法&#xff09;&#xff0c;最后封装&#xff08;终结方法&#xff09;。 Stream.of()允许传入任何参数 常见中间方法 可以对数据进行链式&#xff08;流水线&#xff09;操作&#xff0c;但…...

多视图几何--恢复相机位姿/内参的几种方法

恢复相机位姿的几种方法 1分解投影矩阵 1.1投影矩阵分解为相机内外参矩阵的完整解析 投影矩阵&#xff08;Projection Matrix&#xff09;是计算机视觉中将三维世界点映射到二维像素坐标的核心工具&#xff0c;其本质是相机内参矩阵&#xff08;Intrinsic Matrix&#xff09…...

[数据结构]堆详解

目录 一、堆的概念及结构 二、堆的实现 1.堆的定义 2堆的初始化 3堆的插入 ​编辑 4.堆的删除 5堆的其他操作 6代码合集 三、堆的应用 &#xff08;一&#xff09;堆排序&#xff08;重点&#xff09; &#xff08;二&#xff09;TOP-K问题 一、堆的概念及结构 堆的…...

领域驱动设计(DDD)与MVC架构:理念对比与架构选择

领域驱动设计&#xff08;DDD&#xff09;与MVC架构&#xff1a;理念对比与架构选择 一、架构之争的本质&#xff1a;业务复杂度驱动技术演进 在软件开发领域&#xff0c;没有银弹式的完美架构&#xff0c;只有适合当前业务场景的合理选择。MVC与DDD的区别本质上是业务复杂度与…...

牛客周赛:84:B:JAVA

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 题目描述 import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; public class Main {public static void main(String[] args) {Scanner scanner new Scanner(S…...

【理想解法学习笔记】

目录 理想解法原理简介算法步骤属性值规范化方法代码示例 理想解法 原理简介 TOPSIS(Technique for Order Preference by Simi larity to IdealSolution)法是一种逼近理想解的排序方法。其基本的处理思路是&#xff1a;首先建立初始化决策矩阵&#xff0c;而后基于规范化后的初…...

CI/CD—Jenkins配置一次完整的jar自动化发布流程

背景&#xff1a; 实现设想&#xff1a; 要创建自动化发布&#xff0c;需要准备一台测试服务器提前安装好java运行所需的环境&#xff0c;JDK版本最好和Windows开发机器上的版本一致&#xff0c;在Jenkins上配置将构建好的jar上传到测试服务器上&#xff0c;测试服务器自动启动…...

Magento2根据图片文件包导入产品图片

图片包给的图片文件是子产品的图片&#xff0c;如下图&#xff1a;A104255是主产品的sku <?php/*** 根据图片包导入产品图片&#xff0c;包含子产品和主产品* 子产品是作为主图&#xff0c;主产品是作为附加图片*/use Magento\Framework\App\Bootstrap;include(../app/boot…...

从零开始的python学习(五)P71+P72+P73+P74

本文章记录观看B站python教程学习笔记和实践感悟&#xff0c;视频链接&#xff1a;【花了2万多买的Python教程全套&#xff0c;现在分享给大家&#xff0c;入门到精通(Python全栈开发教程)】 https://www.bilibili.com/video/BV1wD4y1o7AS/?p6&share_sourcecopy_web&v…...

OpenHarmony5.0分布式系统源码实现分析—软总线

一、引言 OpenHarmony 作为一款面向万物互联的操作系统&#xff0c;其分布式软总线&#xff08;Distributed SoftBus&#xff09;是实现设备间高效通信和协同的核心技术之一。分布式软总线通过构建一个虚拟的总线网络&#xff0c;使得不同设备能够无缝连接、通信和协同工作。本…...

基于SpringBoot实现旅游酒店平台功能六

一、前言介绍&#xff1a; 1.1 项目摘要 随着社会的快速发展和人民生活水平的不断提高&#xff0c;旅游已经成为人们休闲娱乐的重要方式之一。人们越来越注重生活的品质和精神文化的追求&#xff0c;旅游需求呈现出爆发式增长。这种增长不仅体现在旅游人数的增加上&#xff0…...

代码随想录算法训练营第六十一天 | 108. 冗余连接 109. 冗余连接II

108. 冗余连接 题目链接&#xff1a;KamaCoder 文档讲解&#xff1a;代码随想录 状态&#xff1a;AC Java代码&#xff1a; import java.util.*;class Main {public static int[] father;public static void main(String[] args) {Scanner scan new Scanner(System.in);int n…...

RoboVQA:机器人多模态长范围推理

23 年 11 月来自 Google Deepmind 的论文“RoboVQA: Multimodal Long-Horizon Reasoning for Robotics”。 本文提出一种可扩展、自下而上且本质多样化的数据收集方案&#xff0c;该方案可用于长期和中期的高级推理&#xff0c;与传统的狭窄自上而下的逐步收集相比&#xff0c…...

TCP/IP原理详细解析

前言 TCP/IP是一种面向连接&#xff0c;可靠的传输&#xff0c;传输数据大小无限制的。通常情况下&#xff0c;系统与系统之间的http连接需要三次握手和四次挥手&#xff0c;这个执行过程会产生等待时间。这方面在日常开发时需要注意一下。 TCP/IP 是互联网的核心协议族&…...

Microsof Visual Studio Code 安装教程(中文设置)

VS Code 是一个免费的代码编辑器&#xff0c;可在 macOS、Linux 和 Windows作系统上运行。启动和运行 VS Code 既快速又简单。VS Code&#xff08;全称 Visual Studio Code&#xff09;是一款由Microsoft 推出的免费、开源、跨平台的代码编辑器&#xff0c;拥有强大的功能和灵活…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

PHP和Node.js哪个更爽?

先说结论&#xff0c;rust完胜。 php&#xff1a;laravel&#xff0c;swoole&#xff0c;webman&#xff0c;最开始在苏宁的时候写了几年php&#xff0c;当时觉得php真的是世界上最好的语言&#xff0c;因为当初活在舒适圈里&#xff0c;不愿意跳出来&#xff0c;就好比当初活在…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

ios苹果系统,js 滑动屏幕、锚定无效

现象&#xff1a;window.addEventListener监听touch无效&#xff0c;划不动屏幕&#xff0c;但是代码逻辑都有执行到。 scrollIntoView也无效。 原因&#xff1a;这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作&#xff0c;从而会影响…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控&#xff0c;故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令&#xff1a;jps [options] [hostid] 功能&#xff1a;本地虚拟机进程显示进程ID&#xff08;与ps相同&#xff09;&#xff0c;可同时显示主类&#x…...