前言:本文基于Qt开发的学习需求,通过解析招聘岗位的技能要求,梳理出学习路径与资源。我们将从基本要求、进阶内容及其他拓展方向进行剖析,帮助大家构建完整知识体系,精准定位学习重点,为面试做好充分准备。(微信交流群见文档中间二维码)
一、招聘岗位需求
1.岗位概况
下面是从BOSS直聘上搜集的音视频开发相关岗位,从中整理得出岗位需求。

2.岗位需求总结
基本要求:
-
掌握C++语言编程,具备良好的编程风格
-
能够使用Qt Designer设计界面,并将其与C++代码结合
-
熟悉Linux、Windows环境开发,熟练掌握QT编程
-
熟练使用QtCreatorIDE,熟悉Qt Ul布局
-
熟练使用QFile、QTextStream、QJsonDocument等处理文件和数据
-
掌握Qt的布局管理器(如QVBoxLayout、QHBoxLayout、QGridLayout)
-
掌握常用控件(如QPushButton、QLabel、QTextEdit、QComboBox等)
-
了解Qt的跨平台特性,能够在Windows、Linux、macOS等平台上开发应用
进阶要求
-
精通Qt的高级特性,如自定义控件、ModelNView架构(QAbstractListModel、QTableView等)
-
熟悉Qt的元对象系统(Q0bject、QMetaObiect),并能在项日中运用
-
使用Qt进行复杂布局(如QTableView、QListView)和自定义控件的开发
-
使用Qt的QSqIDatabase、QSqlQuery等与数据库进行数据交互。
-
熟悉Qt的图形视图框架(QGraphicsView、QGraphicsScene等)
-
了解Qt的线程机制,能够使用QThread、QtConcurrent等库进行多线程开发。
-
能独立完成Qt应用软件开发,具有Qt跨平台(Linux、Windows)开发经验
-
熟练使用Qt Creator的性能分析工具、内存分析工具等
-
了解Socket 编程、TCP/IP协议;熟悉多进程、多线程及进程间通讯
-
能够将Qt应用部署到多个操作系统(Windows、macOs、Linux等)
其他要求
-
熟悉嵌入式Linux开发
-
掌握FFmpeg的使用方法如fmpeg音视频解封装ffmpeg音视频解码
-
掌握Python
-
熟悉使用OpenCV
-
有音视频、多媒体开发经验
-
熟悉TCP、JSON相关开发工作
-
文档及相关资料➕v免费领取
二、学习资源分享
C++编程语言基础
●学习内容:
-
C++基本语法;
-
C++进阶STL;
-
现代C++11等标准;
-
C++刷题与项目;
-
C++设计模式;
●学习资源:
1.C++基本语法 https://www.bilibili.com/video/BV1Ps411w73m/
2.《c++语言程序设计》清华大学/郑莉 https://www.bilibili.com/video/BV1iF411Y74v/
3.程序设计基础 华中科技大学(黄晓涛主讲) https://www.icourse163.org/course/HUST-1206625820
4.《C++ Primer Plus》配套视频教程 https://www.bilibili.com/video/BV1sK41127iZ/
○书籍:
1.《C++ Primer Plus》
2.《C++编程思想》
Qt基础知识
●学习内容:
-
Qt Creator IDE使用,熟悉Qt Creator开发环境
-
基本的Qt控件使用,如QPushButton、QLabel、QTextEdit、QComboBox等)
-
Qt的信号与槽机制,将UI与应用逻辑连接
-
Qt的布局管理器(如QVBoxLayout、QHBoxLayout、QGridLayout)
-
使用QThread和Qt提供的线程支持进行基本的多线程开发
-
使用Qt Designer设计界面,将其与C++代码结合
●学习资源:
1.Qt应用开发 https://www.bilibili.com/video/BV1bzaTeGELB/
2.Qt开发编程-入门基础教程 https://www.bilibili.com/video/BV1Jp4y167R9/
3.Qt快速入门| 嵌入式UI https://www.bilibili.com/video/BV1N34y1H7x7/
4.零基础qt教程 https://www.bilibili.com/video/BV1N34y1H7x7/
5.QT从入门到实战完整版 https://www.bilibili.com/video/BV1g4411H78N/
6.QT的布局管理器 https://www.bilibili.com/video/BV1L14y1x7Uo/
7.QT系列教程,QThread的使用 https://www.bilibili.com/video/BV1MZ4y1M7cK/
8.使用pyqt5+QtDesigner制作多功能GUI https://www.bilibili.com/video/BV1Xz411i76u/
-
QTextEdit类的常用方法 https://www.bilibili.com/video/BV1Dw4m1a7fV/
○书籍:
1.《Qt开发及实例》
2.《Qt Creator快速入门》
3.《C++GUI Qt4编程》
4.《Qt 5.9 C++开发指南》
5.《Mastering Qt 5 Second Edition》
深入C++和Qt编程
●学习内容:
-
掌握C++的高级特性,如模板编程、RAII、C++标准库(STL)的应用。
-
精通Qt的高级特性,如自定义控件、Model/View架构(QAbstractListModel、QTableView等)、事件过滤机制。
-
熟悉Qt的元对象系统(QObject、QMetaObject),并能在项目中运用。
-
深入理解Qt的信号与槽机制,能够优化复杂的UI交互和数据流。
●学习资源:
1.Qt数据模型与视图(Model与View) https://www.bilibili.com/video/BV1MF411u7aF/
-
Model/View/Delegate 框架 https://www.bilibili.com/video/BV1ouWfe5E3r/
3.模型/视图编程实例 (Model/View Programming) https://www.bilibili.com/video/BV1yx411r7qp/
4.Qt5.15/Qt6 的安装和特性介绍 https://www.bilibili.com/video/BV1e64y1d7N8/
5.深入理解QT中的QObject类 https://www.bilibili.com/video/BV1vh4y1r7sc/
6.UI设计零基础全集教程 https://www.bilibili.com/video/BV1k34y1m7Ly/
7.零基础入门UI交互动效设计 https://www.bilibili.com/video/BV1yg411V7Cr/
○书籍:
1.《C++标准库》
2.《C++标准程序库》
3.《UI交互动效必修课》
4.《Quobject Explorer》
5.《Python Qt GUI与数据可视化编程》
复杂界面与数据驱动开发
●学习内容:
-
能够设计复杂的界面,使用Qt进行复杂布局、界面组件(如QTableView、QListView)和自定义控件的开发。
-
Qt与数据库的集成,能够使用Qt的QSqlDatabase、QSqlQuery等与数据库进行数据交互。
-
Qt的图形视图框架(QGraphicsView、QGraphicsScene等)进行二维图形和动画的开发
●学习资源:
1.qtableview实现增删改查 https://www.bilibili.com/video/BV11f4y1X7WL/
2.Qt图形视图框架QGraphicsView,QGraphicsScene,QTableView https://www.bilibili.com/video/BV1XM4y1h7aF/
3.Qt实现SQL增删改查 https://www.bilibili.com/video/BV16M4y1m7a9/
4.QML入门-与C++交互数据 https://www.bilibili.com/video/BV1tx4y1t7Xy/
○书籍: 1.《数据库索引设计与优化》
2.《Qt高级编程》
跨平台开发和部署
●学习内容:
-
能够将Qt应用部署到多个操作系统(Windows、macOS、Linux等)
-
熟悉Qt跨平台特性(如文件路径、UI样式差异)为不同平台提供优化
-
使用Qt的工具(如Qt Installer Framework)进行安装包的制作和分发
●学习资源:
1.QML入门-与C++交互数据 https://www.bilibili.com/video/BV1tx4y1t7Xy/
2.C#自带打包程序Installer-Project使用 https://www.bilibili.com/video/BV1RE411A7rV/
3.visual studio installer projects教程 https://www.bilibili.com/video/BV1fz4y157GQ/
4.软件安装包制作过程(advanced installer) https://www.bilibili.com/video/BV1654y1k7F9/
5.Android Framework开发教程源码解析 https://www.bilibili.com/video/BV1Tw411i7fy/
○书籍:
1.《深入解析Windows操作系统》
2.《Windows程序设计》
3.《macOS效率手册》
其他内容
● 嵌入式开发
○嵌入式系统开发,能够在资源有限的环境中使用Qt进行开发。 ○嵌入式硬件接口(如GPIO、I2C、SPI等)的编程。 ○嵌入式操作系统(如Linux、RTOS)及其与Qt的集成。 ○嵌入式设备的性能优化(如内存、CPU限制)和实时性要求。
移动端开发(Qt for Android/iOS)
-
熟悉Qt Quick、QML及其在移动端的应用。
-
熟悉Android和iOS平台的开发要求,能够将Qt应用移植到这些平台。
-
了解移动平台的UI设计规范,能够为移动端应用优化界面和用户体验。
-
解决移动端的性能问题,如内存管理、动画优化、电池消耗等。
Qt与游戏开发
-
要求:使用Qt与OpenGL进行2D/3D游戏开发。
-
掌握游戏图形、渲染技术、精灵管理、碰撞检测等基础知识。
-
熟悉Qt与其他游戏引擎(如Unity、Unreal)的集成。
人工智能与机器学习
-
将Qt与机器学习框架(如TensorFlow、PyTorch)结合,用于开发带有AI功能的应用程序。
-
熟悉Qt与深度学习、计算机视觉(如OpenCV)的集成。
-
能够在Qt应用程序中处理实时数据流,进行数据分析和展示。
三、8个Qt项目推荐
1.贪吃蛇项目 https://www.bilibili.com/video/BV1kW4y1b7ub/
2.【QT】五子棋项目 https://www.bilibili.com/video/BV1ZK4y1G7Am/
3.【QT开发专题-天气预报】 https://www.bilibili.com/video/BV1D841147zt/
4.【Qt C++】酒店管理系统项目 https://www.bilibili.com/video/BV1fc411k7vQ/
5.俄罗斯方块游戏项目 https://www.bilibili.com/video/BV1mi4y1a7PD/
6.汽车中控仪表系统开发 https://www.bilibili.com/video/BV1znz1YeEdF/
7.基于at 的嵌入式车载智能助手(进阶项目)
-
包括 Qt 开发 Linux 的用户界面(也可为 windows),包括音乐播放器地图、在线天气、环境监测、设备控制端和远程交互。
-
Linux 应用/驱动移植开发,包括交叉编译mqtt、alas、DHT11 和 GPS 等内容。使用阿里云服务器、百度语音控制、百度地图、百度天气等数据。
8.基于 Linux 的 QT 界面开发
-
实现了一款 QT 的点餐系统项目
-
基于能够完成管理员及收银员的注册登录、人员信息管理、账单查看、餐品信息管理、顾客点餐、厨房上菜、收银结账等功能。
五、同学故事&就业案例
1. 双非硕,成功面试音视频工作方向!
该学员在攻读硕士学位之前,已经积累了三年的后端开发工作经验。主要想学习基于我们的瑞芯微和海思项目。借了一套海思的开发板学习海思4K相机项目。
在了解音视频领域的就业机会后,他对该方向产生了浓厚的兴趣。在进一步深入了解了相关的工作岗位和行业需求后,他决定转向音视频技术领域,并成功找到了一份相关的工作。通过他之前的工作经验以及对音视频行业的学习和探索,他最终顺利实现了职业的转型与发展。
2. 【工资10-35万美刀】美国特斯拉Offer!
该学员想找嵌入式软件开发方面的工作,自己C++、Linux驱动接触较少,只有一些C#的软件开发经历,来我们这报名了Linux一对一辅导。
在学习的过程中遇到不会的问题时,在群里进行提问,老师会对所提的问题进行解答。同时,也会根据学生所学的阶段基础安排教学进度。
学员在制作简历过程中,老师会对学员所制作的简历进行细致入微的指导,对简历中的每一个细节进行完善。
在即将进行面试时,老师还会对学员进行模拟面试指导,帮助学员提前适应面试环境,增强自信心,并有效应对可能的面试场景。
最终,该学员不负努力,喜提美国特斯拉Offer!