QGraphicsSvgItem

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/uriel_chiang/article/details/80186546

概述

作为一个可以使用svg文件的QGraphicsItem ,添加于QGraphicsScene,可使用QGraphicsView进行查看。
- 特点:
1. 提供SVG的渲染方式,可以使用SVG文件路劲进行构建对象;
2. 提供setElementId()渲染部分SVG文件,调用时,只用其设定元素和其子元素才会被渲染,对于大文件中为小元素进行渲染
3. setSize()设置大小
4. 默认使用 QGraphicsItem::DeviceCoordinateCache方式进行渲染,可通过 QGraphicsItem::setCacheMode()改变

  • 工程文件:
    QT += svg
  • 头文件:

include

  • 继承:
    QGraphicsObject
  • 注意:使用setSharedRenderer() 进行创建QGraphicsSvgItem.需要保证其中QSvgRenderer 对象声明周期包含QGraphicsSvgItem的生命周期

引用枚举

enum QGraphicsItem::CacheMode

Constant 描述
QGraphicsItem::NoCache 默认方式,禁用缓存,需要时才调用QGraphicsItem::paint()
QGraphicsItem::ItemCoordinateCache 使用缓存,渲染质量削减,缓存不能连续显示,里面的item不能变形
QGraphicsItem::DeviceCoordinateCache 在画图设备层使用缓存,可移动item,但不能旋转和修剪,如果item变形,将会自动重新生成,渲染质量处于最高水平

注意

每次平移、缩放都是基于当前平移位置和当前缩放大小的,因此一般程序中需要记录当前的位置的缩放的倍数,以便于下一次缩放,也可以获取当前item 的变化矩阵,获取当前缩放大小等信息

展开阅读全文

没有更多推荐了,返回首页