Qt Quick开发基础+实战(持续更新中…)
最近更新日期:2024/12/4
一、Qt Quick简介
写在前面:
本篇文章虽然只是作为我的学习笔记,但也作为我日后复习之用,所以会认真并详细记录,但会分重点。
1.3 新建Qt Quick Application工程
这节主要讲2个知识点,1个是【导入Qt资源文件】,1个是【设置应用图标】。
1.3.1 导入Qt资源文件
首先在工程目录中新建一个名为 images 的文件夹,把程序需要用到的图片放进去,png、ico格式的都一起。(ico格式的是用来作为应用图标的)
这里不用分格式、用途,全部一股脑放这个文件夹里就行。
图片放好之后,我们回到Qt Creator中,在工程目录中新建一个资源文件(Qt Resource File),文件名随意,我的就叫做images和图片文件夹名称一致。
添加好之后,你的工程目录中会多出一个后缀名为 .qrc 的文件,右键添加现有文件,把文件夹里的图片全部选中点击确定即可。然后你逐一点开这个qrc文件,就可以在这个文件里看到你上传的所有图片了。
到这里还没完,最后一步是点开工程目录中的 CMakeLists.txt 文件,然后在里面加一句代码(否则我们无法使用资源文件 ):
set(CMAKE_AUTORCC ON)
这样就导入完成了,虽然有一丢丢麻烦,但是你总不会一直导的,对吧!?
1.3.2 设置应用图标(Windows系统)
应用图标的格式要求是 .ico 格式,png、jpg其他的可不行哦!上面我们已经导入了1张 ico 格式的图片,接下来我们看一下怎么设置成应用图标吧!
(这里推荐一个图片转ico格式的网站,免费且广告很少:锤子在线工具。)
首先我们在工程目录中新建一个文本文档,把文件名改为 ico.rc,然后双击打开这个文件,还是记事本打开哈,在里面写入下面这句代码:
IDI_ICON1 ICON DISCARDABLE "images/青蛙大头贴_256x256.ico"
注意,双引号里面的是你自己的路径,写好之后保存该文件。
最后一步, 点开工程目录中的 CMakeLists.txt 文件,在 qt_add_executable 里面加上:
ico.rc
我们运行一下看看,果然,报错了!
原来我们导入的资源文件是带中文的,真的是太太粗心了!但是为什么直接在 Image 模块中用带中文的路径能正常显示,而应用图标带中文就不行了呢?
这个我也不太清楚,建议大家还是都用英文和下划线吧!
把文件名改成英文,然后重新弄了一遍之后,运行成功了!包括任务栏图标也是这个可可爱爱的青蛙了~
二、QML
2.2 import
2.2.1 import模块
import是QML中的一个导入关键字,一般用于导入下面代码需要用到的模块。
这里讲一个特殊情况,比如在同一个代码文件中,我们需要导入多个名称相同或者非常相似的模块,容易搞混弄错,那么我们可以使用 as 关键字来给其中一些模块单独命名。
那相应的,我们使用这个模块的方式就要改变了,否则会报错。
2.2.2 import代码文件
代码文件比如说我们在其他qml文件中写了一些代码,想要在另外一个代码文件中使用,那么也需要import关键字去导入。
这种一般都是借用别人的代码,如果是我们自己写的话,大概率会直接在Qt Creator中新建相应的文件。
假设我们现在工程目录中粘贴了一个 MyButton的文件,现在想要在 Main.qml 中使用,那么就在顶部写上:
import "MyButton"
如果是文件中的代码文件该怎么导入呢?也很简单!直接把这个文件夹导入就行了,这样里面的所有文件都能使用了。
import "./FolderName"
格式就是 ./ + 文件夹名称 。另外,这个也可以用 as关键字来简写,像下面这样:
import "./FolderName" as FnFn.MyButton1 {}Fn.MyButton2 {}
import用好了,做大一点的项目也会方便、清晰很多哦!
三、Qt Quick基础
四、Qt Quick控件
五、Qt Quick对话框
六、图片
七、动画
八、图形效果
九、粒子效果
十、Qt Quick 3D
十一、模型与视图
十二、图表
十三、数据可视化
十四、多媒体
十五、QML与C++交互
十六、新能源汽车中控屏
相关文章:
Qt Quick开发基础+实战(持续更新中…)
最近更新日期:2024/12/4 一、Qt Quick简介 写在前面: 本篇文章虽然只是作为我的学习笔记,但也作为我日后复习之用,所以会认真并详细记录,但会分重点。 1.3 新建Qt Quick Application工程 这节主要讲2个知识点&#x…...
FPGA Xilinx维特比译码器实现卷积码译码
FPGA Xilinx维特比译码器实现卷积码译码 文章目录 FPGA Xilinx维特比译码器实现卷积码译码1 Xilinx维特比译码器实现2 完整代码3 仿真结果 MATLAB (n,k,m)卷积码原理及仿真代码(你值得拥有)_matlab仿真后代码-CSDN博客 MATLAB 仿真…...
数据结构初阶1 时间复杂度和空间复杂度
本章重点 算法效率时间复杂度空间复杂度常见时间复杂度以及复杂度OJ练习 1.算法效率 1.1 如何衡量一个算法的好坏 如何衡量一个算法的好坏呢?比如对于以下斐波那契数列: long long Fib(int N) { if(N < 3) return 1;return Fib(N-1) Fib(N-2); }斐…...
基于Matlab计算机视觉的车道线识别与前车检测系统研究
随着自动驾驶技术的发展,车道线识别和前车检测成为智能驾驶系统中的核心技术之一。本实训报告围绕基于计算机视觉的车道线识别与前车检测系统展开,旨在通过处理交通视频数据,实时检测车辆所在车道及其与前车的相对位置,从而为车道…...
刷蓝桥杯历年考题(更新至15届~)
第十五届 CA组省赛 AcWing5980.训练士兵 方法一:树状数组:O(nlogn) self-complete /*先枚举组团,后分析每个士兵,有一个特点,组团费用是固定的,那当然是让所有士兵一块训练,训练完的士兵也不会有损失当还…...
Stream API来提取两个字符串字段
如果您有一个包含对象的List,并且想要使用Java 8的Stream API来提取两个字符串字段,然后将这些字段的值连接成一个以逗号隔开的单个字符串或者集合List,您可以按照以下步骤操作: 假设您有一个Person类,其中包含两个字…...
《无畏契约》运行时提示“d3dcompiler_43.dll丢失”是什么原因?“找不到d3dcompiler_43.dll文件”如何解决?
《无畏契约》运行时提示“d3dcompiler_43.dll丢失”是什么原因?“找不到d3dcompiler_43.dll文件”如何解决? 作为一位软件开发从业者,我深知在游戏运行过程中,遇到各种文件丢失、文件损坏和系统报错等问题是多么令人头疼。今天&a…...
社群分享在商业引流与职业转型中的作用:开源 AI 智能名片 2+1 链动模式小程序的应用契机
摘要:本文聚焦于社群分享在商业领域的重要性,阐述其作为干货诱饵在引流方面的关键意义。详细探讨了提供有价值干货的多种方式,包括文字分享、问题解答以及直播分享等,并分析了直播分享所需的条件。同时,以自身经历为例…...
芯食代冻干科技研究院:创新与品质并重,推动家用冻干机高质量发展
11月25日,芯食代首届食品冻干前沿与智能化升级创新大会在江苏常州成功举办。本次大会由芯食代冻干科技研究院(江苏)有限公司与芯食代(上海)科技发展有限公司联合主办,云集学界专家教授、商界企业精英,共议家用冻干机的未来创新发展。作为创新大会,芯食代冻干科技研究院也在本次…...
【C++】栈和队列的模拟实现(适配器模式)
不论是C语言还是C,我们都用其对应的传统写法对栈和队列进行了模拟实现,现在我们要用新的方法模拟实现栈和队列,这个新方法就是适配器模式。 C语言传统写法: C语言模拟实现栈 C传统写法:C模拟实现栈 1.容器适配器 …...
CSS过渡练习-进度条(12)
该进度条先需要一个大盒子和一个小盒子,然后给大盒子与小盒子加style,看进度到多少就是百分之多少;如果要进度条从百分之五十到满格的话就加一个hover的样式(鼠标移到链接上时添加的特殊样式),然后是想要进…...
青动CRM系统PHP+Uniapp
全面解决企业销售团队的全流程客户服务难题,旨在助力企业销售全流程精细化、数字化管理,全面解决企业销售团队的全流程客户服务难题,帮助企业有效盘活客户资源、量化销售行为,合理配置资源、建立科学销售体系,提升销售业绩。 青动…...
word如何快速创建目录?
文章目录 1,先自己写出目录的各级标题。2、选中目标标题,然后给它们编号3、给标题按照个人需求开始分级4、插入域构建目录。4.1、利用快捷键插入域构建目录4.2、手动插入域构建目录 听懂掌声!学会了吗? 前提声明:我在此…...
【机器学习】机器学习的基本分类-监督学习-决策树-CART(Classification and Regression Tree)
CART(Classification and Regression Tree) CART(分类与回归树)是一种用于分类和回归任务的决策树算法,提出者为 Breiman 等人。它的核心思想是通过二分法递归地将数据集划分为子集,从而构建一棵树。CART …...
使用GDI对象绘制UI时需要注意的若干细节问题总结
目录 1、一个bitmap不能同时被选进两个dc中 2、CreateCompatibleDC和CreateCompatibleBitmap要使用同一个dc作为参数 3、不能删除已经被选入DC中的GDI对象 4、使用完的GDI对象,要将之释放掉,否则会导致GDI对象泄漏 5、CreateCompatibleBitmap返回错…...
C++:std::fstream详细介绍
std::fstream 是 C 标准库中的一个类,用于处理文件的输入输出操作。它可以同时进行文件的读和写操作,因此被称为“文件流”(File Stream)。它是 C 输入输出流库 iostream 的一部分,继承了 std::istream 和 std::ostrea…...
ndp协议简介
在IPv6中,ARP(地址解析协议)被替代为邻居发现协议(Neighbor Discovery Protocol,NDP)。NDP是IPv6网络中用于发现邻居节点(相邻设备)的协议,类似于IPv4中的ARP。但与ARP不…...
915DEBUG-obsidianTemplater使用
Templater使用 tp函数不正常显示相应数据 模板使用方式不正确 <% tp.date.now("YYYY-MM-DD") %> 应该被放置在一个被Templater识别为模板的文件中,或者在你使用Templater的插入模板功能时输入。如果只是在一个普通的Markdown文件中直接输入这段代码…...
【Linux篇】权限管理 - 用户与组权限详解
一. 什么是权限? 首先权限是限制人的。人 真实的人 身份角色 权限 角色 事物属性 二. 认识人–用户 Linux下的用户分为超级用户和普通用户 root :超级管理员,几乎不受权限的约束普通用户 :受权限的约束超级用户的命令提示符是#,普通用…...
JWT 在 SaaS 系统中的作用与分布式 SaaS 系统设计的最佳实践
在现代 SaaS(软件即服务) 系统中,随着服务规模的扩大和用户需求的多样化,如何高效、安全地进行用户身份验证、权限控制以及租户隔离,成为了系统架构中的核心问题之一。**JWT(JSON Web Token)**作…...
docker更换容器存储位置
一:原因 今天之前在某个服务器上使用docker搭建的服务突然无法访问了,进入服务器查看发现服务运行正常,但是就是无法使用,然后我这边准备将docker服务重新启动下看看,发现docker服务无法重启,提示内存已满…...
gitlab-cicd部署安装与具体操作
一、安装 本例中是用安装包直接在ubuntu下安装的,也可以用docker镜像。 curl -LJO https://gitlab-runner-downloads.s3.amazonaws.com/latest/rpm/gitlab-runner_amd64.rpmrpm -i gitlab-runner_amd64.rpm 安装runner后,需要跟在runner所在服务器安装…...
基于MFC实现的人机对战五子棋游戏
基于MFC实现的人机对战五子棋游戏 1、引言 此报告将详细介绍本次课程设计的动机、设计思路及编写技术的详细过程,展现我所学过的C知识以及我通过本次课程设计所学到例如MFC等知识。在文档最后我也会记录我所编写过程遇到的问题以及解决方案。 1.1 背景 五子棋是…...
mac电脑多个ssh keys共存
一、同一台电脑,不同域名的git仓库为什么要设置不同的ssh keys? 每个git仓库通常要求使用唯一的ssh key,以防止权限冲突和安全问题。 权限控制:每个git仓库的权限是独立的,使用不同的ssh keys可以更好的管理权限&…...
Elasticsearch数据迁移(快照)
1. 数据条件 一台原始es服务器(192.168.xx.xx),数据迁移后的目标服务器(10.2.xx.xx)。 2台服务器所处环境: centos7操作系统, elasticsearch-7.3.0。 2. 为原始es服务器数据创建快照 修改elas…...
【Java-数据结构篇】Java 中栈和队列:构建程序逻辑的关键数据结构基石
我的个人主页 我的专栏:Java-数据结构,希望能帮助到大家!!!点赞❤ 收藏❤ 一、引言 1. 栈与队列在编程中的角色定位 栈和队列作为两种基本的数据结构,在众多编程场景中都有着独特的地位。它们为数据的有序…...
使用ensp搭建内外互通,使用路由跨不同vlan通信。
1.网络拓扑图 2.规则 (1)允许 (自己)ping通内外网,内外网随便一个pc就可以. (2) 允许(电信)ping通内外网,内外网随便一个pc就可以 (时间问题不做…...
URDF 发布者
URDF 发布者 #! /usr/bin/env python3 import rclpy from rclpy.node import Node import rclpy.parameter from sensor_msgs.msg import JointState from rcl_interfaces.msg import SetParametersResultimport threading import timeclass RotateWheelNode(Node):def __init…...
用于目标检测的集中式特征金字塔
摘要 https://arxiv.org/pdf/2210.02093 视觉特征金字塔在多种应用中已展现出其在有效性和效率方面的优越性。然而,现有方法过度关注层间特征交互,却忽略了经验证明有益的层内特征调节。尽管一些方法试图借助注意力机制或视觉变换器来学习紧凑的层内特征表示,但它们忽略了…...
微信小程序购物车全选反选功能以及合计
微信小程序基于Vant Weapp的购物车功能实现 1、单选 使用微信小程序原生表单组件checkbox和checkbox-group 注意:checkbox原生不支持bind:change事件,checkbox-group支持 <checkbox-group bindchange"handleCheck"><checkbox val…...
大数据新视界 -- Hive 数据湖集成与数据治理(下)(26 / 30)
💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...
【基础数学二】整除,最大公约数约数,最小公倍数
整除 在数论中,一个整数 a a a 能够被另一个整数 d d d 整除,记做 d ∣ a d|a d∣a。 整除的性质: 如果 d ∣ a d | a d∣a,则对于任意整数 k k k 有 d ∣ k a d | ka d∣ka。如果 d ∣ a d|a d∣a 并且 d ∣ b d|b d∣…...
【lua语言基础(四)】IO模型以及补充知识
💓博主CSDN主页:杭电码农-NEO💓 ⏩专栏分类:lua从入门到精通⏪ 🚚代码仓库:NEO的学习日记🚚 🌹关注我🫵带你学更多lua语言的知识 🔝🔝 lua语言基础 1. 简单的IO模型2…...
Python知识分享第十九天-网络编程
网络编程 概述用来实现 网络互联 不同计算机上运行的程序间可以进行数据交互也叫Socket编程 套接字编程 三要素IP地址概述设备在网络中的唯一标识分类IPV4城域网13广域网22局域网31IPV6八字节 十六进制相关dos命令查看ipwindows: ipconfigmac和linux: ifconfig测试网络ping 域…...
【JuMP.jl】非线性规划
[JuMP] 03 非线性规划 非线性规划模型 非线性规划问题是线性规划问题的自然推广, 在实际的工程问题中,优化问题中的目标函数与约束不会总是线性函数,因此非线性规划的求解功能是必要的。 min x ∈ R n f 0 ( x ) s.t. l j ≤ f j ( x ) ≤…...
网络(TCP)
目录 TCP socket API 详解 套接字有哪些类型?socket有哪些类型? 图解TCP四次握手断开连接 图解TCP数据报结构以及三次握手(非常详细) socket缓冲区以及阻塞模式详解 再谈UDP和TCP bind(): 我们的程序中对myaddr参数是这样…...
40分钟学 Go 语言高并发:服务性能调优实战
服务性能调优实战 一、性能优化实战概述 优化阶段主要内容关键指标重要程度瓶颈定位收集性能指标,确定瓶颈位置CPU、内存、延迟、吞吐量⭐⭐⭐⭐⭐代码优化优化算法、并发、内存使用代码执行时间、内存分配⭐⭐⭐⭐⭐系统调优调整系统参数、资源配置系统资源利用率…...
5092 星际争霸
逆序对排序; 字符串遍历; pair 特点: 两个值,第一个是字符串,第二个是逆序对数。而且没有重复的字符串。 #include<bits/stdc.h>using namespace std; typedef long long ll; const int N1e35; #define x f…...
AUTOSAR AP 汽车API知识点总结(Automotive API )R24-11
汽车API知识点总结 一、背景与目标 背景:智能互联汽车正逐步依赖远程诊断、软件更新等功能以确保行驶安全,并且用户已习惯于通过智能设备中的应用程序控制连接设备。虽然AUTOSAR标准支持车辆软件的可更新性,但尚未提供将AUTOSAR应用产生的数据和功能安全可靠地暴露给非AUTO…...
vue2:Cascader 级联选择器中加载两种不同的数据结构
前言 因UI调整,需要将el-tree控件更换为级联选择器,而在原树形控件中,加载了两种不同的数据结构,(参见vue2:树形控件el-tree中加载两种不同结构的数据_vue2 树形插件-CSDN博客)所以现在级联选择器中也需要加载这两种不同的数据结构。 问题 原本以为处理方式差不多,在…...
【xLSTM-Transformer序列分类】Pytorch使用xLSTM-Transformer对序列进行分类源代码
Python, Pytorch使用xLSTM-Transformer对序列进行分类源代码。xLSTM是不久前LSTM团队提出来的新模型,将xLSTM融入Transformer的Encoder中,创新型较强。另外,Transformer是完整的,即使用了Encoder、Decoder和Embedding所有模块。 …...
TDengine 签约安徽智质,助力海螺水泥智慧工厂升级
在当前制造业数字化转型的浪潮中,如何实现智能化、自动化与数据驱动的高效生产,成为企业提升竞争力的关键。尤其是在水泥、钢铁等传统行业,随着技术的不断进步,如何打破数据孤岛、提升生产管理效率,已经成为许多工厂亟…...
Hbase整合Mapreduce案例2 hbase数据下载至hdfs中——wordcount
目录 整合结构准备数据下载pom.xmlMain.javaReduce.javaMap.java操作 总结 整合结构 和案例1的结构差不多,Hbase移动到开头,后面跟随MR程序。 因此对于输入的K1 V1会进行一定的修改 准备 在HBASE中创建表,并写入数据 create "wunaii…...
WHLUG丨deepin、华中科技大学开放原子开源俱乐部、 RustSBI 和清华大学开源操作系统训练营共话开源新生代成长之路
2024年11月30日下午,由 deepin(深度)社区联合华中科技大学开放原子开源俱乐部、 RustSBI 开源社区和清华大学开源操作系统训练营共同举办的WHLUG(武汉Linux用户组)线下沙龙在华中科技大学成功举办。 本次活动聚集了50余…...
深入理解AVL树:结构、旋转及C++实现
1. AVL树的概念 什么是AVL树? AVL树是一种自平衡的二叉搜索树,其发明者是Adelson-Velsky和Landis,因此得名“AVL”。AVL树是首个自平衡二叉搜索树,通过对树的平衡因子进行控制,确保任何节点的左右子树高度差最多为1&…...
L15.【LeetCode笔记】相同的树
目录 1.题目 代码模板 2.分析 通过合理的if判断分类讨论两个根节点 1.首先,p和q都为NULL的情况最好排除 2.排除了两个都为NULL的情况,剩下的情况:1.其中一个为NULL;2.两个都不为NULL 写法1 写法2 3.只剩下最后一种情况:p和q都不为NULL 3.代码 提交结果 1.题目 https…...
【算法】【优选算法】位运算(下)
目录 一、:⾯试题 01.01.判定字符是否唯⼀1.1 位图1.2 hash思路1.3 暴力枚举 二、268.丢失的数字2.1 位运算,异或2.2 数学求和 三、371.两整数之和四、137.只出现⼀次的数字 II五、⾯试题 17.19.消失的两个数字 一、:⾯试题 01.01.判定字符是…...
网络——Socket与WebSocket
Socket与WebSocket都是网络通信中的重要概念,但它们在原理、应用场景及特性上存在显著的差异。以下是对两者的详细比较: 一、Socket 定义:Socket(套接字)是计算机网络中的一个抽象层,它允许应用程序通过网…...
Springboot3整合Redis
书接上篇《Redis 安装篇(阿里云服务器)_阿里云安装redis-CSDN博客》,安装好Redis后,就需要在springboot项目中使用Redis了。 一、SpringBoot整合Redis 1.添加坐标 <!--redis--> <dependency><groupId>org.sp…...
Java CountDownLatch 用法和源码解析
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,…...