它解决什么问题,值不值得学

很多做桌面端开发的人,卡在“能写基础界面,但搞不定复杂交互”的阶段。这门课针对的就是这个痛点:怎么用Qt做出工业级PC客户端,而不是停留在拖拽几个控件、跑通一个Demo的玩具水平。课程前半段虽然从环境搭建、信号槽机制讲起,但很快切入复杂界面实现、内存管理和moc技术底层原理。如果你的工作场景需要做带复杂交互的跨平台工具,比如图片查看器这类需要处理大量图形渲染和事件响应的软件,这门课的思路值得参考。它不教你速成,而是帮你补齐从“能跑”到“能交付”的认知断层。

适合什么基础,学完能独立做什么

资料默认你有C++基础,至少写过类、懂指针,能看懂lambda表达式。如果你连C++基本语法都吃力,建议先补语法再看。课程内容涉及VS2019与QtCreator双工具链切换、QMake与CMake配置,对零基础不算友好。学完后,你应该能独立搭一套带自定义信号通信的客户端框架,处理中文乱码这类常见工程坑,并且能看懂企业级代码里信号槽的五种写法、知道什么场景用哪种。换句话说,你能接手一个现成的Qt项目,而不是只能从头新建空工程。

建议先看哪几块,资料怎么配合练习

别按顺序从头刷。建议先看Qt架构介绍与学习方法那节,建立全局认知;接着跳到信号槽与moc技术详解,这是Qt的核心机制,搞不懂这个后面全是死记硬背;然后看内存管理机制,这是区分初级和中级的分水岭。资料配合练习的方式很直接:每看完一个机制,自己写个最小Demo验证。比如看完自定义信号和emit,就写个带两个窗口的对象互相发消息的小程序;看完图片查看器那节,别光跟着敲,试着加个缩放功能或者多图切换。环境装好后,VS和QtCreator都建一遍项目,体会两者项目文件的转换逻辑,这个操作在实际接手老项目时天天遇到。


掌握Qt复杂界面的实现方法;掌握常见PC客户端软件的开发方法;达到企业Qt中高级入职水平

课程目录

*   01 Qt入门/

  *   01 课程介绍

  *   02 C++ Qt开发环境安装

  *   03 QtCreator和VS2019的基本使用

  *   04 QMake与CMake介绍与应用

  *   05 Qt三个窗口类的区别

  *   06 vs qt与QtCreator创建项目的区别以及相互转化

  *   07 Qt架构介绍与学习方法详解

  *   08 Qt入门:实现一个简单的图片查看软件

  *   09 优化图片查看器代码

  *   10 C++ lamda 函数详解

  *   11 Qt槽函数五种常用写法介绍

  *   12 自定义信号、信号emit、信号参数注册

  *   13 connect参数详解

  *   14 Qt信号槽与moc技术详解

  *   15 C++ 模板实现与Qt无关的信号槽机制

  *   16 Qt内存管理机制详解

  *   17 Qt中文乱码、常量换行符如何处理

  *   18 Qt中文乱码终极解决方案

  *   19 课程代码编译与使用介绍

  *   20 课后练习

*   02 常用控件的使用与界面布局详解/

  *   01 从腾讯会议登录界面来学习Qt界面布局

  *   02 优化登录界面:完美还原腾讯会议登录界面

  *   03 C++代码创建布局:水平布局详解

  *   04 C++代码创建布局:竖直布局详解

  *   05 C++代码创建布局:栅格布局详解

  *   06 C++代码创建布局:水平竖直栅格布局综合应用

  *   07 分裂器布局

  *   08 setLayout使用说明

  *   09 多重布局变换与布局删除技巧

  *   10 手写C++ Qt代码实现腾讯会议登录界面

  *   11 QTabWidget各种常见用法详解(一):添加自定义tab

  *   12 QTabWidget各种常见用法详解(二) :tab样式设置

  *   13 QListWidget用法(一):列表模式添加item

  *   14 QListWidget用法(二):右键菜单、item删除

  *   15 QListWidget用法(三):图标模式以及右侧滑动条的样

  *   16 QScrollArea应用:模仿迅雷可以上下滑动的设置界面(

  *   17 QScrollArea应用:模仿迅雷可以上下滑动的设置界面(

  *   18 QScrollArea应用:模仿迅雷可以上下滑动的设置界面(

  *   19 PC客户端界面布局案例分析:WPS、腾讯会议

  *   20 Qt界面绝对布局介绍

*   03 无边框窗口设计技巧/

  *   01 QWidget类详细介绍

  *   02 无边框窗口的基本实现

  *   03 给无边框窗口添加自定义标题栏并实现拖拽拉伸

  *   04 设计一个无边框窗口公用类

  *   05 标题栏界面qss美化、关闭、最小化、最大化

  *   06 解决一个不容易发现的bug

  *   07 Qt实现窗口阴影

  *   08 Qt实现圆角窗口

  *   09 一个自定义标题栏带圆角阴影的窗口

  *   10 无边框窗口综合应用:实现WPS tab页面

  *   11 课程代码使用说明

  *   12 课后练习

*   04 自定义控件与qss/

  *   01 qss介绍

  *   02 qss 选择器

  *   03 QLineEdit qss使用方法

  *   04 使用正则表达式限制QLineEdit的输入

  *   05 QPushButton qss(一):常用的qss

  *   06 QPushButton qss(二) :点击按钮弹出菜单

  *   07 QPushButton qss(三) :设置按钮菜单样式表

  *   08 QPushButton qss(四) :鼠标悬浮弹出对话框

  *   09 QCheckBox qss妙用:实现打开关闭状态按钮

  *   10 QComboBox样式表介绍

  *   11 QProgressBar用法及qss

  *   12 QSlider用法介绍及qss样式表设置

  *   13 qss加载方式详解

  *   14 控件提升与自定义控件

  *   15 Qt鼠标相对位置、绝对位置、窗口位置、控件位置

  *   16 自定义QLineEdit实现搜索编辑框

  *   17 自定义QTabWidget实现tab在左,文本水平

  *   18 视频播放器开发(1) : QVideoWidget播放视频

  *   19 视频播放器开发(2) : libvlc使用介绍

  *   20 视频播放器开发(3) : libvlc实现播放暂停停止功能

  *   21 视频播放器开发(4) : libvlc实现视频跳转与音量调整

  *   22 视频播放器开发(5) : libvlc播放功能封装

  *   23 视频播放器开发(6) : libvlc实现双击全屏播放

  *   24 视频播放器开发(7) : libvlc实现列表播放功能

  *   25 视频播放器开发(8) : 项目模块规划

  *   26 视频播放器开发(9) : 标题栏和底部控制栏界面优化

  *   27 视频播放器开发(10) : 自定义打开文件按钮

  *   28 视频播放器开发(11) : 实现视频播放功能

  *   29 视频播放器开发(12) : enter leave无效

  *   30 视频播放器开发(13) : 项目总结与作业

*   05 Qt Web混合编程/

  *   01 chrome技术介绍: CEF、QCefView

  *   02 VS2019 CEF编译与使用

  *   03 QWebEngineView基本用法

  *   04 CMake VS2019编译QCefView

  *   05 C++ Qt项目中使用QCefView

  *   06 C++ Qt html js交互

  *   07 C++ Qt ECharts显示K线图

  *   08 C++ Qt ECharts数据交互动态修改

  *   09 课后练习

*   06 Qt http编程/

  *   01 http基础简介

  *   02 后端API测试工具postman使用介绍

  *   03 Qt http相关类介绍

  *   04 C++ Qt用户登录注册功能实现

  *   05 C++ Qt json解析介绍

  *   06 C++ nlohmann json使用介绍

  *   07 libcurl源码编译介绍

  *   08 C++ Qt使用libcurl进行http post请求

  *   09 websocket介绍

  *   10 C++ Qt实现websocket server

  *   11 C++ Qt实现websocket client

  *   12 课后练习

*   07 Qt线程与并发/

  *   01 Qt创建线程的三种方法

  *   02 Qt并发:QtConcurrent简介

  *   03 QtConcurrent run参数说明

  *   04 获取QtConcurrent的返回值

  *   05 C++ 其它线程技术介绍

  *   06 课后练习

*   08 Qt绘图技术与图形视图/

  *   01 Qt绘图技术介绍

  *   02 常见的18种图形、路径、文字、图片绘制介绍

  *   03 Qt移动鼠标手动绘制任意多边形

  *   04 Qt绘制带三角形箭头的窗口

  *   05 Qt场景视图架构介绍

  *   06 Graphics View坐标系介绍

  *   07 基本图元绘制

  *   08 自定义图元:实现矩形图元实现拖拽、拉伸、旋转功能

  *   09 课后练习

*   09 模型视图代理/

  *   01 Qt MVD概念讲解

  *   02 MVD之:QTableView的应用

  *   03 模型视图代理之:QListView的使用

  *   04 课后练习

*   10 Qt其它技巧/

  *   01 如何带参数启动外部进程

  *   02 QtCreator如何链接第三方库

  *   03 windeployqt提取Qt依赖库

  *   04 VS2019 Qt win32项目如何添加x64编译方式

  *   05 QTranslator实现多语言与国际化

  *   06 DPI适配

  *   07 课后练习

*   11 项目实战:高仿视频会议客户端/

  *   01 视频会议项目需求说明

  *   02 声网RTC SDK介绍 (一)

  *   03 声网RTC SDK介绍 (二)

  *   04 Agora RTC SDK集成详细介绍

  *   05 C++ Qt调用声网sdk实现音视频互动

  *   06 视频会议项目模块规划

  *   07 编写用户登录窗口

  *   08 编写会议主界面

  *   09 编写左侧远程用户视图列表

  *   10 主界面大视图与左侧小视图实现音视频互通

  *   11 登录窗口优化

  *   12 视频会议界面标题栏优化

  *   13 视频会议界面底部控制栏优化

  *   14 实现桌面共享功能

  *   15 项目总结

  *   16 课后练习

*   12 课程总结/

  *   01 课程总结

  *   02 课后作业

  *   03 课后练习