C-Qt开发成长之路,从入门到企业级实战项目,保姆级学习路线
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岁的伙伴一句话:
决定上限的不是年纪,而是技术。最后:希望学习路线对你有所帮助,希望码农的我们越来越好!