class QPicture#

QPicture》类是一个记录和回放《QPainter`命令的绘图设备。《a class="reference internal" href="#more">更多…

Inheritance diagram of PySide6.QtGui.QPicture

摘要#

方法#

虚拟方法#

注意

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

详细描述#

警告

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

图片将画家命令序列化为平台无关的格式,有时也被称为元文件。

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__(arg__1)#
参数::

arg__1QPicture

构建pic的副本。

由于隐式共享,此构造函数速度较快。

__init__([formatVersion=-1])
参数::

formatVersion – int

构建一个空图片。

可以使用formatVersion参数创建一个可以由使用较早版本Qt编译的应用程序读入的QPicture

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

Qt 4.0 不支持读取先前版本 Qt 生成的图片。

boundingRect()[链接]
返回类型:

QRect

返回图片的边界矩形,如果图片没有数据则返回一个无效的矩形。

另请参阅

setBoundingRect()

data()[链接]
返回类型:

PyObject

返回指向图片数据的指针。该指针仅在下次调用本图片的非const函数之前有效。如果图片没有数据,则返回的指针为0。

另请参阅

setData() size() isNull()

isNull()[链接]
返回类型:

bool

如果图片没有数据则返回 true;否则返回 false。

load(dev)[链接]
参数::

devQIODevice

返回类型:

bool

这是一个重载函数。

dev 是用于加载的设备。

load(fileName)
参数::

fileName – str

返回类型:

bool

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

另请参阅

save()

play(p)[链接]
参数::

pQPainter

返回类型:

bool

使用 painter 重新播放图片,如果成功则返回 true;否则返回 false。

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

注意

此函数不会保留画家的状态。

save(dev)[链接]
参数::

devQIODevice

返回类型:

bool

这是一个重载函数。

dev 是用于保存的设备。

save(fileName)
参数::

fileName – str

返回类型:

bool

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

另请参阅

load()

setBoundingRect(r)#
参数::

rQRect

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

另请参阅

boundingRect()

setData(data)#
参数::

data – str

直接从`data`和`size`设置图片数据。此函数会复制输入数据。

另请参阅

data() size()

size()#
返回类型:

int

返回图片数据的大小。

另请参阅

data()

swap(other)#
参数::

otherQPicture

与该图片交换图片`other`。这个操作非常快,从不会失败。