- class QPicture#
《
QPicture
》类是一个记录和回放《QPainter
`命令的绘图设备。《a class="reference internal" href="#more">更多…摘要#
方法#
def
__init__()
def
boundingRect()
def
data()
def
isNull()
def
load()
def
play()
def
save()
def
size()
def
swap()
虚拟方法#
def
setData()
注意
本文档可能包含从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()
。另请参阅
构建
pic
的副本。由于隐式共享,此构造函数速度较快。
- __init__([formatVersion=-1])
- 参数::
formatVersion – int
构建一个空图片。
可以使用
formatVersion
参数创建一个可以由使用较早版本Qt编译的应用程序读入的QPicture
。注意,默认的
formatVersion
是-1,表示当前版本,即对于Qt 4.0,格式版本7与默认格式版本-1相同。Qt 4.0 不支持读取先前版本 Qt 生成的图片。
返回图片的边界矩形,如果图片没有数据则返回一个无效的矩形。
另请参阅
- data()[链接]
- 返回类型:
PyObject
返回指向图片数据的指针。该指针仅在下次调用本图片的非const函数之前有效。如果图片没有数据,则返回的指针为0。
- isNull()[链接]
- 返回类型:
bool
如果图片没有数据则返回 true;否则返回 false。
这是一个重载函数。
dev
是用于加载的设备。- load(fileName)
- 参数::
fileName – str
- 返回类型:
bool
从由
fileName
指定的文件中加载图片,如果成功则返回 true;否则无效化图片并返回 false。另请参阅
使用
painter
重新播放图片,如果成功则返回 true;否则返回 false。此函数与 drawPicture() 函数完全相同,其中 (x, y) = (0, 0)。
注意
此函数不会保留画家的状态。
这是一个重载函数。
dev
是用于保存的设备。- save(fileName)
- 参数::
fileName – str
- 返回类型:
bool
将图片保存到由`
fileName
`指定的文件中,如果成功返回true;否则返回false。另请参阅
设置图片的边界矩形为`
r
`。自动计算值将被覆盖。另请参阅
- setData(data)#
- 参数::
data – str
直接从`
data
`和`size
`设置图片数据。此函数会复制输入数据。- size()#
- 返回类型:
int
返回图片数据的大小。
另请参阅
与该图片交换图片`
other
`。这个操作非常快,从不会失败。