【Qt QML入门】Image
Image类型显示一个图像。
 使用source属性将图像的源指定为URL。图像可以以Qt支持的任何标准图像格式提供,包括位图格式,如PNG和JPEG,以及矢量图形格式,如SVG。
 如果没有指定宽度和高度属性,图像将自动使用加载图像的大小。
import QtQuick
import QtQuick.Window
import QtQmlWindow {width: 640height: 480visible: truetitle: qsTr("Hello World")Image {source: "qrc:/img.png"fillMode: Image.PreserveAspectFitanchors.fill: parent}
}
 
加载文件的过程默认是同步的,也就是会阻塞UI,直到图片加载完成。
如果想加载比较大的图片,可以启用异步属性,在线程中加载该图像。如果图片是从网络资源获得的,则会自动异步加载,并根据需要更新进度和状态属性。
还有一点需要注意,Image被加载成功后,会在内部被缓存和共享,因此如果几个Image项有相同的源,则只会加载图像的一个副本。
Image的属性:
currentFrame:当前可见的帧。默认值为0。如果图像包含多个帧,则可以将其设置为0
frameCount - 1之间的数字,以显示不同的帧。
frameCount:图像中的帧数。大多数图像只有一帧
horizontalAlignment : enumeration
verticalAlignment : enumeration
设置图像的水平和垂直对齐方式。默认情况下,图像是居中对齐的。
水平对齐的有效值为Image.AlignLeft,Image.AlignRight和Image.AlignHCenter。
垂直对齐的有效值为Image.AlignTop,Image.AlignBottom和Image.AlignVCenter。
paintedHeight : real
paintedWidth : real
保存了实际绘制的图像的大小。在大多数情况下,它与宽度和高度相同,但当使用Image.PreserveAspectFit or an Image.PreserveAspectCrop,paintedWidth或paintedHeight可以小于或大于图像项的宽度和高度。
asynchronous : bool
指定本地文件系统上的映像应该在单独的线程中异步加载。默认值为false,在加载图像时导致用户界面线程阻塞。在维护响应式用户界面比立即显示图像更可取的情况下,将异步设置为true非常有用。
 注意,此属性仅对从本地文件系统读取的映像有效。通过网络资源(例如HTTP)加载的图像总是异步加载的。
cache : bool
指定是否应该缓存图像。默认值为true。在处理大图像时,将缓存设置为false很有用,以确保它们不会以牺牲小的“ui元素”图像为代价被缓存。
fillMode : enumeration
Image.Stretch-图像被缩放到适合
 Image.PreserveAspectFit -图像被均匀缩放以适合而不裁剪
 Image.PreserveAspectCrop -图像被均匀缩放以填充,必要时进行裁剪
 Image.Tile-图像是水平和垂直复制
 Image.TileVertically-图像水平拉伸和垂直平铺
 Image.TileHorizontally-图像垂直拉伸,水平平铺
 Image.Pad -图像不被转换




mipmap : bool
此属性保留图像在缩放或转换时是否使用mipmap过滤。
 与平滑相比,当按比例缩小时,Mipmap过滤提供了更好的视觉质量,但它可能会以性能为代价(在初始化图像和渲染期间)。
 默认情况下,此属性设置为false。
mirror : bool
此属性保留图像是否应该水平反转(有效地显示镜像)。
 默认值为false。
progress : real
这个属性保存图片加载的进度,从0.0(没有加载)到1.0(完成)。
smooth : bool
此属性用于确定图像在缩放或转换时是否平滑过滤。平滑过滤提供更好的视觉质量,但在某些硬件上可能会变慢。如果图像以其自然大小显示,则此属性没有视觉或性能效果。
 默认情况下,此属性设置为true。
source : url
Image可以处理Qt支持的任何图像格式,从Qt支持的任何URL方案加载。
 URL可以是绝对的,也可以是相对于组件的URL的。
sourceClipRect : rect
如果设置了此属性,则保存要加载的源图像的矩形区域。
 当只需要加载图像的一部分时,sourceClipRect与sourceSize属性一起工作以节省系统资源。
sourceSize : size
此属性保存全帧图像的缩放宽度和高度。
 与缩放图像绘制的宽度和高度属性不同,此属性为加载的图像设置存储的最大像素数,以便大型图像不会使用不必要的内存。
如果图像的实际大小大于sourceSize,则图像按比例缩小。如果只将尺寸的一个维度设置为大于0,则按比例设置另一个维度以保持源图像的长宽比。(fillMode与此无关。)
 如果两个sourceSize。宽度和sourceSize。高度设置时,图像将按比例缩小以适应指定的大小(除非使用了PreserveAspectCrop或PreserveAspectFit,否则它将按比例缩小以匹配裁剪/拟合的最佳大小),保持图像的宽高比。缩放后图像的实际大小可通过Item::implicitWidth和Item::implicitHeight获得。
 如果源是一个本质上可伸缩的图像(例如;SVG),此属性决定所加载图像的大小,而不考虑其固有大小。避免动态更改此属性;呈现SVG比呈现图像要慢。
 如果源是一个不可伸缩的图像(例如。JPEG),则加载的图像将不大于此属性指定的大小。对于某些格式(目前只有JPEG),整个图像实际上永远不会加载到内存中。
 如果还设置了sourceClipRect属性,则sourceSize确定比例,但它将被剪切为剪辑矩形的大小。
 通过将sourceSize设置为undefined,可以将sourceSize清除为图像的自然大小。
注意:动态更改此属性会导致图像源被重新加载。
status : enumeration
这个属性保存图像加载的状态。它可以是:
Image.Null-没有设置图像
Image.Ready-图像已加载
Image.Loading-图像当前正在加载
Image.Error-加载图像时发生错误
使用此状态以某种方式提供更新或响应状态更改。
相关文章:
【Qt QML入门】Image
Image类型显示一个图像。 使用source属性将图像的源指定为URL。图像可以以Qt支持的任何标准图像格式提供,包括位图格式,如PNG和JPEG,以及矢量图形格式,如SVG。 如果没有指定宽度和高度属性,图像将自动使用加载图像的大…...
Spark编程入门
1.8 Spark编程入门 1.8.1 通过IDEA创建Spark工程 ps:工程创建之前步骤省略,在scala中已经讲解,直接默认是创建好工程的 导入Pom文件依赖 <!-- 声明公有的属性 --><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler…...
JVM 内存分析工具 Memory Analyzer Tool(MAT)的深度讲解
目录 一. 前言 二. MAT 使用场景及主要解决问题 三. MAT 基础概念 3.1. Heap Dump 3.2. Shallow Heap 3.3. Retained Set 3.4. Retained Heap 3.5. Dominator Tree 3.6. OQL 3.7. references 四. MAT 功能概述 4.1. 内存分布 4.2. 对象间依赖 4.3. 对象状态 4.4…...
浅谈 USB Bulk 深入浅出 (3) - USB Bulk 装置传输的注意事项
来源:大大通 作者:冷氣團 1 USB Bulk 是什么 USB 是即插即用使用差动信号的装置界面,是以 端点 ( Endpoint ),做为传输装置的输出入端,透过不同的端点 ( Endpoint ) 和模式,来进行与装置的沟通ÿ…...
c语言结构体调用格式与对齐
1.声明形式: struct 结构体名字 { 结构体成员 }结构体变量名; 2.赋值方法 3.结构体对齐: 1.起始偏移量:默认结构体第一个元素对齐0起始偏移量,第一个元素占一个字节,此时偏移量为1. 2.标准数ÿ…...
服务器常用命令介绍和负载监控的工具插件推荐
先赞后看,养成习惯!!!❤️ ❤️ ❤️ 码字不易,如果喜欢可以关注我哦! 如果本篇文章对你有所启发,欢迎访问我的个人博客 命令 服务器相关 5个常用命令 top Top命令不仅显示了当前内核服务的…...
linux 防火墙systemctl (个人笔记)
查看 systemctl status firewalld 开启 systemctl start firewalld 关闭 systemctl stop firewalld.service 查看所有 firewall-cmd --zonepublic --list-ports 开放端口:// --permanent 永久生效,没有此参数重启后失效 firewall-cmd --zonepublic --add-port9527/…...
处理器中store指令的处理
对于向存储器中保存数据的store指令来说,它在顺利离开流水线之前是不允许改变处理器状态的,只有等到它退休(retire)的时候,才允许将它携带的数据写到D-Cache中在此之前,store指令即使计算完毕,也会将结果暂存在一个缓存中…...
杨辉三角形-第11届蓝桥杯选拔赛Python真题精选
[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第17讲。 杨辉三角形&#…...
我们一起做过的SPA——Nuxt.js介绍
Nuxt.js 1 我们一起做过的SPA SPA(single page web application)单页 Web 应用,Web 不再是一张张页面,而是一个整体的应用,一个由路由系统、数据系统、页面(组件)系统等等,组成的应…...
java导出word使用模版与自定义联合出击解决复杂表格!
1. 看一下需要导出什么样子的表格 如图所示,这里的所有数据行都是动态的,需要根据查询出来的数据循环展示。 如果只是这样的话,使用freemarker应该都可以搞定,但是他一列中内容相同的单元格,需要合并。 这对于表格样式…...
GO设计模式——9、过滤器模式(结构型)
目录 过滤器模式(Filter/Criteria Pattern) 代码实现 过滤器模式(Filter/Criteria Pattern) 过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,…...
fastadmin 导出
php 接收数据 set_time_limit(0);ini_set(memory_limit, -1);$ids $this->request->post(ids);$filter $this->request->post(filter);$op $this->request->post(op);$search $this->request->post(search);$whereIds $ids all ? 11 : [id >…...
六、CM4树莓派USBRS转485串口通讯
一、串行通讯接口 串行通讯接口简称串口(UART) 采用串行通信方式的扩展接口,数据位一位一位的按照顺序传送 优点:通信线路简单,只要一对传输线就可以实现双向通信能够大大降低成本,适合远距离通信。 缺点…...
c++知识总结
一 细碎知识 1.27 # 1.27.1 # pragma once 参考 C++学习笔记之pragma once的理解_pragma once什么意思-CSDN博客https://blog.csdn.net/lynnlee_36/article/details/105322937作用 保证只被编译一次,和#ifndef,#define,#endif功能相同 1.27.2 #if defined(__cplusplus…...
python-爬取壁纸
代理池的,防止IP 被封 找到图片真实地址 现在看到的只是图片的预览地址 (previews) 1.检查: 2.鼠标变为箭头时查看网页源代码 关于怎样在源代码中找到图片的真实地址 ??? 为什么在源代码界面 ctrl f 时候搜索的是 .png ??? 首先图片地址是以 .j…...
第31期 | GPTSecurity周报
GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大型语言模型(LLM)等安全领域应用的知识。在这里,您可以…...
湖仓一体架构理论与实践汇总
湖仓一体架构理论与实践汇总 软件研发本质上属于“手工业”。软件研发在很大程度上还是依赖于个人的能力。当软件规模较小时,依赖“手工业”可以解决问题,但是当软件规模大了之后再依赖“手工业”就不行了。 软件的复杂度包含两个层面:软件…...
Redission从入门到入门
1. Redisson简介 Redisson 是一个在 Java 环境中使用的 Redis 客户端库。它提供了丰富的功能,使得在 Java 应用中与 Redis 交互变得更加简单和高效。Redisson 不仅提供了基本的 Redis 操作,还提供了许多高级功能,使其成为在 Java 项目中实现…...
PHP对接企业微信
前言 最近在做项目中,要求在后台管理中有企业微信管理的相关功能。相关准备工作,需要准备好企业微信账号,添加自建应用,获得相应功能的权限,以及agentid、secre等。 参考文档: 企业微信开发文档 功能实现 因…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)
引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...
离线语音识别方案分析
随着人工智能技术的不断发展,语音识别技术也得到了广泛的应用,从智能家居到车载系统,语音识别正在改变我们与设备的交互方式。尤其是离线语音识别,由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力,广…...
智能职业发展系统:AI驱动的职业规划平台技术解析
智能职业发展系统:AI驱动的职业规划平台技术解析 引言:数字时代的职业革命 在当今瞬息万变的就业市场中,传统的职业规划方法已无法满足个人和企业的需求。据统计,全球每年有超过2亿人面临职业转型困境,而企业也因此遭…...
