C++ Qt6 QtQuick/QML入门进阶与项目实战视频教程
课程介绍
C++ Qt这些年在PC客户端、嵌入式、汽车座舱仪表等领域应用很广泛,例如剪映专业版、微信4.0、亿图脑图、Steam、美图秀秀、腾讯会议、钉钉(部分模块)等都是使用C++ QWidget/QML开发。特别是QML这种声明式UI开发更加快捷,QML的界面开发效率相对于QWidget更快速,界面效果更好,QtQuick/QML在Qt6版本也逐渐完善了,使用QML进行客户端开发是个不错的选择。
本课程讲解C++ Qt6.5.3 QtQuick qml知识点,一共13个章节的内容,包含Qt开发环境搭建、CMake学习、qml基础控件与复杂控件、qml界面布局、自定义控件、信号槽、qml C++ js交互、动画、QML模型视图、Canvas汽车仪表绘制、qml项目实战等内容。
课程链接:https://edu.csdn.net/course/detail/40003?spm=1001.2014.3001.5507
课程大纲
第一章
第一章介绍C++ Qt开发环境搭建,分别介绍Ubuntu2204和Win11上Qt的安装与配置,课程主要使用Qt6.5.3,项目构建使用CMake,主要使用QtCreator编写代码。
第二章
第二章介绍qml的项目结构,分别讲解QtQuick/QML的基本属性,Qt6 CMake与Qt5 qmake qml项目的异同点,qml项目开发的基本模块。涉及到文件创建、字体加载器、翻译文件添加,程序依赖库提取与打包等等,这一章也是qml项目从0到打包的过程。
第三章
由于Qt官方推荐Qt6使用CMake来构建,对于CMake不熟悉的学员可以学习本章内容,了解CMake C++程序的构建,方便看懂qml cmake脚本,为后续课程内容打基础。本章从最简单的CMake C++程序入门,逐步学习多文件C++项目,多目录多文件C++项目,静态库、动态库的构建与链接,install、find_package等内容,这些都是CMake C++项目构建的常用技术。
第四章
第四章主要是qml基础控件与复杂控件的学习,先介绍qml控件父类型Item, 为控件学习打基础。本章除了控件的基本用法,还涉及到控件样式的自定义以及基本窗口的实现,例如多页面切换,长页面滑动、视频矩阵显示等。
第五章
第五章学习qml界面布局,客户端开发如果搞不懂界面布局,基本做不出好看的界面效果,了解qml常用的布局,anchors锚点,xy坐标绝对布局对于qml界面开发很有帮助。
第六章
第六章介绍qml的信号槽与自定义信号,以及属性绑定,Connections,键盘鼠标信号、事件等内容。
第七章
第七章是本课程的核心内容,qml的界面实现远远比QWidget高效快捷,但是qml的数据处理相比于C++ QWidget要麻烦,因此掌握qml与C++的交互显得尤为重要。本章依次介绍C++类型的四种注册方式,qml调用js函数,qml使用C++ enum、map,qmldir模块定义,qml拓展插件qml Extension plugin的使用,C++ Qt动态库封装与链接,qml显示Widget窗口,qml C++进程通信等内容。本章的内容稍微比较难,基本涉及了C++ qml交互的所有内容,掌握本章内容对于qml程序开发很有帮助。
第八章
第八章介绍qml动画,动画对于界面效果的提升很有帮助,灵活运用动画,可以很好的实现各种酷炫的界面效果。
第九章
第九章介绍qml模型视图委托,模型视图主要用于复杂数据的显示与修改,qml除了可以使用QtQuick提供的模型,也可以使用C++ Qt提供的模型。
第十章
第十章介绍QML Canvas绘图,该部分内容相对简单,但是复杂的图形需要运用数学知识,例如使用三角函数进行坐标位置计算,实现特殊的动态效果。主要讲解如何使用Canvas绘制汽车仪表,如何使用余弦定理、三角函数实现指针的动态效果,处理绘制中的问题,解决绘制残影等问题。
汽车仪表绘制项目效果图:
第十一章
第十一章是项目实战,本项目是PC端项目,高仿有道词典,自己开发一个翻译软件。先介绍翻译功能的实现,然后用qml还原有道词典界面,设计到自定义标题栏、多页面跳转、无边框窗口、Web页面跳转、账号登录登功能,最后界面qml添加翻译文件、程序依赖库提取,程序打包,更新,下载等功能的实现。
项目界面如下:
第十二章
第十二章作为补充章节,qml内容比较多,很多会涉及到多个章节的内容,本章节目前主要讲解QQuickView、Popup、qml OpenCV集成。
第十三章
课程总结。
通过本课程的学习,相信大家可以很好的掌握C++ QML项目开发,对于课程里不懂的问题可以找我答疑。
本课程提供全部源码,提供答疑。