zoukankan      html  css  js  c++  java
  • Qt ImageProvider 的使用

    QQuickImageProvider 是一个可以支持在QML中使用 qpixmap 和 图片加载线程的类。

      它支持在qml中使用Image加载的高级特性, 包括

        使用 QPixmap 替代实际的image文件。

        在线程中异步加载图片。

    使用时, 首先使用QQmlEngine::addImageProvider 方法注册 ImageProvider, 并且指定前缀, 该前缀在qml中使用。如:
       engine->addImageProvider(QLatin1String("colors"), new ColorPixmapProvider);

    则在qml中使用图片时,语法如下: 

      Image { source: "image://colors/yellow" }

        其中 image:// 前缀表示 图片来自于 ImageProvider。 colors 表示指定前缀, 大小写无关。  而 yellow 是图片字符串, 在

    requestPixmap(Image  texture)方法中, 作为string类型的id传入, 指定相应图片。

      QPixmap QQuickImageProvider::​requestPixmap(const QString & id, QSize * size, const QSize &requestedSize)

    的参数意义:

      id 用于在qml中使用字符串指定相应图片。

      size 必须填充为 图片的真实尺寸。

      requestedSize 由qml传入,表示实际加载的图片大小, 用像素数表示, 不超过1024*1024.

      如果 requestedSize 小于size, 图片会缩小; 如果图片是 不能缩放的, 目前仅jpeg类型,则图片甚至无法被加载。 如果只有长或者宽被指定, 则另外一个数值会按比例计算以保持图片实际长宽比。 改变该值导致图片被重新加载, 如果是网络图片, 还会重新下载。   如果把改属性设置为 undefined, 则该值会被设定为图片实际大小。

  • 相关阅读:
    [GSEAPY] 在Python里进行基因集富集分析
    scRNAseq R包公共单细胞数据获取
    pybedtools:在Python中使用BEDTools
    pybedtools 提取序列
    将博客搬至CSDN
    【转】SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
    sql长日期数据以短日期格式显示【转】
    [转]YouTube架构学习体会
    [转]让Nginx 支持 ASP ASP.NET配置方法
    [转]LINQ查询总结
  • 原文地址:https://www.cnblogs.com/aslistener/p/4478230.html
Copyright © 2011-2022 走看看