PySide6.QtGui.QPicture

class QPicture

QPicture 类是一个绘图设备,用于记录和回放 QPainter 命令。更多

PySide6.QtGui.QPicture 的继承图

概要

方法

虚拟方法

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

图片以平台无关的格式将绘画命令序列化到IO设备。它们有时被称为元文件。

Qt 图片使用一种专有的二进制格式。与许多窗口系统上的原生图片(元文件)格式不同,Qt 图片在内容方面没有任何限制。任何可以在小部件或像素图上绘制的内容(例如,字体、像素图、区域、变换后的图形等)也可以存储在图片中。

QPicture 是分辨率独立的,即一个 QPicture 可以在不同的设备上(例如 svg、pdf、ps、打印机和屏幕)显示,看起来是一样的。例如,这在 WYSIWYG 打印预览中是必需的。QPicture 在默认的系统 dpi 下运行,并根据窗口系统的分辨率差异缩放绘图器。

如何记录图片的示例:

picture = QPicture()
painter = QPainter()
painter.begin(picture) # paint in picture
painter.drawEllipse(10,20, 80,70) # draw an ellipse
painter.end() # painting done
picture.save("drawing.pic") # save picture

请注意,每次调用begin()函数时,画图命令列表都会被重置。

如何回放图片的示例:

picture = QPicture()
picture.load("drawing.pic") # load picture
painter = QPainter()
painter.begin(myImage) # paint in myImage
painter.drawPicture(0, 0, picture) # draw the picture at (0,0)
painter.end() # painting done

图片也可以使用play()来绘制。一些关于图片的基本数据是可用的,例如,size()isNull()boundingRect()

另请参阅

QMovie

__init__(pic)
Parameters:

图片QPicture

构造 pic 的副本。

由于隐式共享,这个构造函数非常快。

__init__([formatVersion=-1])
Parameters:

formatVersion – int

构建一个空图片。

formatVersion 参数可用于创建一个QPicture,该图片可以被使用早期版本Qt编译的应用程序读取。

请注意,默认的formatVersion是-1,这表示当前版本,即对于Qt 4.0,formatVersion为7与默认的formatVersion为-1是相同的。

Qt 4.0不支持读取由早期版本的Qt生成的图片。

boundingRect()
Return type:

QRect

返回图片的边界矩形,如果图片不包含数据,则返回无效矩形。

另请参阅

setBoundingRect()

data()
Return type:

PyObject

返回指向图片数据的指针。该指针仅在对此图片调用下一个非常量函数之前有效。如果图片不包含数据,则返回的指针为0。

另请参阅

setData() size() isNull()

isNull()
Return type:

布尔

如果图片不包含数据,则返回true;否则返回false。

load(dev)
Parameters:

开发QIODevice

Return type:

布尔

这是一个重载函数。

dev 是用于加载的设备。

load(fileName)
Parameters:

fileName – str

Return type:

布尔

fileName指定的文件加载图片,如果成功则返回true;否则使图片无效并返回false

另请参阅

save()

play(p)
Parameters:

pQPainter

Return type:

布尔

使用painter重绘图片,如果成功则返回true;否则返回false

此函数与drawPicture()在(x, y) = (0, 0)时完全相同。

注意

画家的状态不会被这个函数保留。

save(dev)
Parameters:

开发QIODevice

Return type:

布尔

这是一个重载函数。

dev 是用于保存的设备。

save(fileName)
Parameters:

fileName – str

Return type:

布尔

将图片保存到由fileName指定的文件中,如果成功则返回true;否则返回false

另请参阅

load()

setBoundingRect(r)
Parameters:

rQRect

将图片的边界矩形设置为r。自动计算的值将被覆盖。

另请参阅

boundingRect()

setData(data)
Parameters:

data – 字符串

直接从datasize设置图片数据。此函数会复制输入数据。

另请参阅

data() size()

size()
Return type:

整数

返回图片数据的大小。

另请参阅

data()

swap(other)
Parameters:

其他QPicture

将此图片与other图片交换。此操作非常快速且永远不会失败。