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项目开发,对于课程里不懂的问题可以找我答疑。

本课程提供全部源码,提供答疑。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/6058.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Linux:防火墙和selinux对服务的影响

1-1selinux 1-1 SELinux是对程序、文件等权限设置依据的一个内核模块。由于启动网络服务的也是程序,因此刚好也 是能够控制网络服务能否访问系统资源的一道关卡。 1-2 SELinux是通过MAC的方式来控制管理进程,它控制的主体是进程,而目标则是…

逻辑回归处理非线性关系与支持向量机的性能对比

逻辑回归是一种常用的线性分类方法,通常用于处理线性关系的二分类任务。但是,对于非线性问题,传统的逻辑回归模型可能表现不佳,因为它假设数据可以被一个线性决策边界分割开来。为了使逻辑回归能够处理非线性关系,我们…

2021数二第9题 线代 一个方程组的解是另一个方程组的解

题目展示的是一个方程组的列向量 可由另一个列向量表示所以是矩阵的转置

C#与C++交互开发系列(二十):跨进程通信之共享内存(Shared Memory)

1、前言 共享内存(Shared Memory)是一种高效的跨进程通信方式,尤其适用于同一台计算机上的进程之间的高速数据传输。与套接字相比,共享内存允许多个进程直接访问同一块内存区域,减少了数据传输的中间步骤,…

防火墙|WAF|漏洞|网络安全

防火墙|WAF|漏洞|网络安全 防火墙 根据内容分析数据包: 1、源IP和目的IP地址 2、有效负载中的内容。 3、数据包协议(例如,连接是否使用 TCP/IP 协议)。 4、应用协议(HTTP、Telnet、FTP、DNS、SSH 等)。 5…

web——warmup——攻防世界

这道题还是没有做出来。。,来总结一下 1.ctrlU显示源码 2.看见body里有source.php 打开这个source.php 看见了源码 highlight_file(FILE); 这行代码用于高亮显示当前文件的源码,适合调试和学习,但在生产环境中通常不需要。 class emmm 定义…

HTML第一次作业

制作带有下拉悬停菜单的导航栏 <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>带有下拉悬停菜单的导航栏</title><style>* {margin: 0;padding: 0;}#menu {background-color: blue;width: 100%;height: 50p…

数据结构 C/C++(实验三:队列)

&#xff08;大家好&#xff0c;今天分享的是数据结构的相关知识&#xff0c;大家可以在评论区进行互动答疑哦~加油&#xff01;&#x1f495;&#xff09; 目录 提要&#xff1a;实验题目 一、实验目的 二、实验内容及要求 三、算法思想 实验1 实验2 四、源程序及注释…

Chromium127编译指南 Mac篇(二)- 安装Xcode

1. 概述 在Chromium开发的道路上&#xff0c;为Mac平台搭建正确的环境是至关重要的第一步。本文将聚焦于Xcode的安装过程&#xff0c;它作为Mac上不可或缺的开发工具&#xff0c;为Chromium的编译提供了必要的编译器和工具链。 我们将详细解析如何选择、下载并安装适合Chromium…

移动应用开发 实验二:标准身高计算器

文章目录 准备工作一&#xff0c;创建Android Studio项目二&#xff0c;创建活动模块三&#xff0c;设计用户界面&#xff08;一&#xff09;设置页面布局&#xff08;二&#xff09;添加标题文本控件&#xff08;三&#xff09;设计体重输入框&#xff08;四&#xff09;设计性…

这个超级棒,我收藏的样机素材,统统分享给你们

Hello&#xff0c;大家好&#xff0c;我是后期圈&#xff01;工作不息摸鱼不止&#xff01;继续给圈友们带来有趣好玩的推荐&#xff0c;圈友们在摸鱼的同时别忘记多多点赞支持一波呀 今天给大家分享 4个超实用效率高质量网站&#xff0c;请各位偷偷收藏使用&#xff0c;懂得都…

管理 Elasticsearch 变得更容易了,非常容易!

作者&#xff1a;来自 Elastic Ken Exner Elasticsearch 用户&#xff0c;我们听到了你的心声。管理 Elasticsearch 有时会变得很复杂&#xff0c;面临的挑战包括性能调整、问题检测和资源优化。我们一直致力于简化你的体验。今天&#xff0c;我们宣布了自收购 Opster 以来的一…

spark-本地模式的配置和简单使用

python环境的安装 在虚拟机中&#xff0c;只能安装一个python的版本&#xff0c;若想要安装别的版本&#xff0c;则需要卸载之前的版本——解决方式&#xff0c;安装Anaconda 通过百度网盘分享的文件&#xff1a;Anaconda3-2021.05-Linux-x86_64.sh 链接&#xff1a;https://…

将vscode的终端改为cygwin terminal

现在终端是默认的power shell&#xff0c;没有显示cygwin 接下来选择默认配置文件 找到cygwin的选项即可 然后提示可能不安全什么的&#xff0c;点是&#xff0c;就有了

Node.js简介以及安装部署 (基础介绍 一)

Node.js简介 Node.js是运行在服务端的JavaScript。 Node.js是一个基于Chrome JavaScript运行时建立的一个平台。 Node.js是一个事件驱动I/O服务端JavaScript环境&#xff0c;基于Google的V8引擎&#xff0c;V8引擎执行Javascript的速度非常快&#xff0c;性能非常好。 Node.…

【MySQL 保姆级教学】深层理解索引及其特性(重点)--上(11)

MySQL与磁盘 1. MySQL与内存和磁盘的联系2. 认识磁盘2.1 MySQL与存储2.2 磁盘结构2.3 扇区2.4 定位扇区 3. MySQL与磁盘交互基本单位4. 建立共识5. 索引的理解5.1 建立一个表并查询5.2 为何 I/O 交互要是Page 6. B树 Vs B 树数6.1 不同存储引擎支持的索引结构类型6.2 B树 Vs B树…

修改云服务器远程默认端口

操作场景 由于使用系统默认端口的风险较大&#xff0c;容易被攻击软件扫描以及攻击&#xff0c;为避免因端口攻击而无法远程连接云服务器&#xff0c;您可将云服务器默认远程端口修改为不常见的端口&#xff0c;提高云服务器的安全性。 修改服务端口需在安全组规则与云服务器…

0xGame 2024 [Week 4] Jenkins

1.前言 由于好久没做web题了&#xff0c;所以今天来尝试来做一波web题&#xff0c;仅供刷题记录。 2.题目 这个给的提示对于小白来说实在是友好的过劲。 3.分析 上网搜到一个关于Jenkins的历史漏洞&#xff0c;下面链接可供参考 https://blog.csdn.net/2301_80127209/arti…

10天进阶webpack---(1)为什么要有webpack

首先就是我们的代码是运行在浏览器上的&#xff0c;但是我们开发大多都是利用node进行开发的&#xff0c;在浏览器中并没有node提供的那些环境。这就造成了运行和开发上的不同步问题。 -----引言 浏览器模块化的问题&#xff1a; 效率问题&#xff1a;精细的模块划分带来了更…

好累-还要复习

第一次碰到无极值改变区间长度特征值的关系迹对应的特征向量是原来的一列 共轭的考虑两项相加 那么就有两种情况 观察数列函数&#xff0c;构建拉格朗日&#xff08;非常重要&#xff09;