当前位置: 首页 > news >正文

Qml组件之Image

  • Image用来显示静态图片
  • Qt支持的格式都可以显示,比如png、jpg、svg
  • Image元素的width和height属性没有显式指定的话,Image会自动使用加载的图片的宽度和高度
  • 如果显示指定了width和height,那么图片会缩放到这个大小
Image{}

常用属性

图像源

  • source : url

可以是相对路径,也可以是绝对路径

url直接用字符串就好了

Image{//指定图片路径        source: "./111.jpg"
}

图像源像素尺寸

  • sourceSize : size

用来限制加载的图片的像素数

比如为"1024x1024",那么加载进来的图片的像素总数不会超过1024*1024个

一般在性能较低的设备中需要指定,比如arm的嵌入式设备

可能造成的后果是:

如果原图像的像素总数大于设置的sourceSize,可能会使图像没有原图清晰

比如:

下面是原图

 指定sourceSize,像素总数不能超过50x50,导致图片变模糊了

Image {//指定图片路径source: "./111.jpg"//低性能的嵌入式设备中需要指定,否则会卡顿,决定图片的总的像素数不大于指定的值//直接使用字符串的形式指定这个尺寸,中间是xsourceSize: "50x50"
}

填充模式

  • fillMode : enumeration

有6中取值

最常用的就是

  1. Image.PreserveAspectFit:自适应,图片等比例缩放到能够完整显示在Image元素中
  2. Image.Stretch:图片会拉伸填满整个Image
  3. Image.PreserveAspectCrop:图片等比例缩放,但是有可能不会完整显示,超出的部分会被裁剪
  4. Image.Tile:图片不会进行任何缩放,直接沿着水平和垂直方向平铺

图片对齐方式

  • horizontalAlignment : enumeration
  • verticalAlignment : enumeration

指定图片在Image中的对齐方式,默认是在Image中心

也可以分别指定在水平和垂直方向的对齐方式

异步加载

  • asynchronous : bool

指定Image加载图像是异步的,在加载大内存的图像时可以防止界面卡顿

加载状态

  • status : enumeration [read-only]

是一个只读属性,可以通过该属性获取Image加载图像的加载状态,有以下4个状态,见名知意

镜像图片

  • mirror : bool

可以让显示的图片水平镜像

平滑

  • smooth : bool

指定图片在缩放时获得更好的显示质量,某些设备下可能导致卡顿

裁剪显示

  • sourceClipRect : rect

即给定一个矩形区域,显示图像这个区域的内容到Image上

比如下面显示图片左上角200*200的区域

Image {id: img//指定图片路径source: "./111.jpg"fillMode: Image.PreserveAspectFit //自适应,图片保持从横比缩放到Image元素的大小sourceClipRect: Qt.rect(0, 0, 200, 200)
}

信号

  • statusChanged

加载状态改变信号

通过可以在他的信号改变处理器中根据当前的状态做不同的处理

 Image {id: imageonStatusChanged: if (image.status == Image.Ready) console.log('Loaded')}

相关文章:

  • 数字智慧方案6160丨智慧医疗系统平台建设方案(46页PPT)(文末有下载方式)
  • Go-web开发之社区功能
  • B站Michale_ee——ESP32_IDF SDK——FreeRTOS_2 队列
  • 2025大模型微调视频课程全套(附下载)
  • 2025年渗透测试面试题总结-拷打题库30(题目+回答)
  • Curl 全面使用指南
  • node.js模块化步骤(各标准区别)CommonJS规范、AMD规范、UMD规范、ES Modules (ESM)
  • 小刚说C语言刷题—1602总分和平均分
  • 基于若依RuoYi-Vue3-FastAPI 的 Docker 部署记录
  • 驱动开发系列55 - Linux Graphics QXL显卡驱动代码分析(二)显存管理
  • 《Android 应用开发基础教程》——第十章:使用 Gson 实现网络 JSON 数据解析与对象映射
  • RAGFlow报错:ESConnection.sql got exception
  • 纯html实现的json数据转csv文件
  • 题解:洛谷 CF2091E Interesting Ratio
  • 猫,为什么是猫?
  • Y1代码AC集
  • Python协程入门指北
  • 数据结构与算法学习笔记(Acwing提高课)----动态规划·背包模型(一)
  • 奥地利学派方法论的三个基础
  • Python TensorFlow库【深度学习框架】全面讲解与案例
  • 五一期间全国高速日均流量6200万辆,同比增长8.1%
  • “五一”假期首日国铁郑州局迎大客流,预计发送旅客逾95万人次
  • 青海西宁市城西区副区长于媛媛主动投案,接受审查调查
  • 宋徽宗《芙蓉锦鸡图》亮相,故宫首展历代动物绘画
  • “即买即退”扩容提质,上海静安推出离境退税2.0版新政
  • 中国人保聘任田耕为副总裁,此前为工行浙江省分行行长