StupidBeauty
Read times:3345Posted at: - no title specified

Qt5.7文档翻译:QSvgRenderer,QSvgRenderer Class

QSvgRenderer 类,可用来将SVG 文件的内容绘制到绘图设备上去。 详细说明……

头文件:

#include <QSvgRenderer>

qmake指令

QT += svg

自此版本开始引入:

Qt 4.1

继承

QObject

注意 这个类中的所有函数都是 可重入的

详细说明

QSvgRenderer 类,可用来将SVG 文件的内容绘制到绘图设备上去。

通过使用 QSvgRenderer ,可将可缩放矢量图像(Scalable Vector Graphics (SVG))渲染到任何的 QPaintDevice 子类上去,包括 QWidget QImage QGLWidget

QSvgRenderer 提供 了一组应用编程接口,可支持SVG 渲染中的基本特性,例如载入及静态内容的渲染,还支持更具交互式的特性,例如动画。由于渲染过程 是通过 QPainter 来进行的,因此,SVG 元素可被渲染到任何一个 QPaintDevice 子类上去。

SVG元素 ,可在构造 QSvgRenderer 时载入,也可在日后使用 load ()函数来载入。数据 ,可直接以XML 的形式提供,或间接地使用文件名来提供。如果 在渲染器构造时或者日后的某个时刻载入了一个有效的文件,那么, isValid ()会返回真(true) ;否则将返回假(false)。 QSvgRenderer 提供 render ()信号槽, 以便使用指定的绘图器 渲染当前文档,或者渲染动画文档中 的当前帧。

defaultSize ()函数 ,表示的是, 要渲染当前载入的SVG 文件,需要多少屏幕空间。 这个信息,对于绘图设备来说狠有用,例如 QWidget ,它就通常需要向亲代布局对象提供一个尺寸建议。单个绘图元素 的默认尺寸,可能与它的可见区域不相同,后者是由 viewBox 属性来表示的。

动画SVG元素,也是支持的,并且,可使用一组简单的函数和属性来控制:

  • •. animated ()函数 ,表明当前图片 中是否包含动画信息。

  • •. framesPerSecond 属性 ,控制的是动画播放的帧率。

最后 QSvgRenderer 类还提供了 repaintNeeded ()信号 ,每当文档 的渲染结果需要更新时,就会发射该信号。

参考 QSvgWidget Qt SVG C++ SVG查看 器示例 QPicture

属性文档

framesPerSecond : int

这个属性,存储的是,显示过程中的每秒帧数。

如果当前文档不是动画式文档,则每秒帧数为0

访问函数

int

framesPerSecond() const

void

setFramesPerSecond(int num)

参考 animated ()

成员函数文档

QSvgRenderer:: QSvgRenderer (const  QString  & filename QObject  * parent  = Q_NULLPTR)

构造一个新的渲染器,其亲代部件为 parent ,并且载入文件名为 filename 的SVG 文件中的内容。

bool QSvgRenderer::animated() const

如果当前文档中包含动画式元素,则返回真(true);否则返回假(false)。

参考 framesPerSecond ()

QSize  QSvgRenderer:: defaultSize () const

返回文档 中内容的默认尺寸。

[slot] void  QSvgRenderer:: render ( QPainter  * painter )

使用指定的绘图器 painter ,来渲染当前文档或动画式文档中的当前帧。

[signal] void  QSvgRenderer:: repaintNeeded ()

每当 此文档的渲染结果需要更新时,就会发射这个信号,通常用于支持动画。

雅卿

雅卿

未知美人

老司机

Your opinions
Your name:Email:Website url:Opinion content: