Home · All Classes · Modules · QSS HELP · QSS 案例 · VER007 HOME |
该QPaintEngine类提供了如何的抽象定义QPainter绘制到一个给定的设备在给定平台上。More...
该QPaintEngine类提供了如何的抽象定义QPainter绘制到一个给定的设备在给定平台上。
的Qt 4.0提供QPaintEngine的几个预制的实现,因为我们支持不同的画家后端。我们为每个窗口系统和绘画框架,我们支持提供一个绘制引擎。这包括X11在Unix / Linux和CoreGraphics在Mac OS X此外,我们提供QPaintEngine的实现OpenGL(可通过QGLWidget)和PostScript(通过QPSPrinter在X11访问) 。此外,还有一个基于光栅的涂料引擎,是一个后备,当引擎不支持某些功能。
如果一个人想用QPainter绘制到不同的后端,必须继承QPaintEngine并重新实现其所有的虚函数。该QPaintEngine执行,然后提供通过继承QPaintDevice并重新实现虚函数QPaintDevice.paintEngine( ) 。
QPaintEngine创建和拥有的QPaintDevice创建它。
该QPaintEngine办法反对的Qt 3的的一大优点QPainter/ QPaintDevice.cmd ( )方法,它现在可以适应多种技术在每个平台上,充分利用每一个发挥到淋漓尽致。
Constant | Value | Description |
---|---|---|
QPaintEngine.DirtyPen | 0x0001 | 笔是脏,需要更新。 |
QPaintEngine.DirtyBrush | 0x0002 | 刷脏了,需要更新。 |
QPaintEngine.DirtyBrushOrigin | 0x0004 | 刷原点是脏的,需要更新的。 |
QPaintEngine.DirtyFont | 0x0008 | 字体变脏,需要进行更新。 |
QPaintEngine.DirtyBackground | 0x0010 | 背景是脏的,需要被更新。 |
QPaintEngine.DirtyBackgroundMode | 0x0020 | 背景模式是脏的,需要被更新。 |
QPaintEngine.DirtyTransform | 0x0040 | 该变换是脏的,需要被更新。 |
QPaintEngine.DirtyClipRegion | 0x0080 | 裁剪区域变脏,需要进行更新。 |
QPaintEngine.DirtyClipPath | 0x0100 | 剪辑路径是脏的,需要被更新。 |
QPaintEngine.DirtyHints | 0x0200 | 渲染提示脏了,需要更新。 |
QPaintEngine.DirtyCompositionMode | 0x0400 | 该组合物模式是脏的,需要被更新。 |
QPaintEngine.DirtyClipEnabled | 0x0800 | 无论裁剪启用与否是脏,需要更新。 |
QPaintEngine.DirtyOpacity | 0x1000 | 不透明度的常已发生变化,需要进行更新的状态变化的一部分QPaintEngine.updateState( ) 。 |
QPaintEngine.AllDirty | 0xffff | 内部使用的便利枚举。 |
这些类型用于通过QPainter来触发各种状态的懒惰更新QPaintEngine using QPaintEngine.updateState( ) 。
一种涂料引擎必须更新每个脏状态。
该DirtyFlags类型是一个typedef为QFlags\u003cDirtyFlag\u003e 。它存储DirtyFlag值的或组合。
此枚举是用来描述的特征或功能,油漆引擎。如果某个特性不支持的引擎,QPainter会做通过其他方式来模拟该功能,并通过对混合阿尔法尽力QImage与模拟结果的引擎。有些功能不能被仿真: AlphaBlend的和PorterDuff 。
Constant | Value | Description |
---|---|---|
QPaintEngine.AlphaBlend | 0x00000080 | 该引擎可以alpha混合语。 |
QPaintEngine.Antialiasing | 0x00000400 | 发动机可以使用antialising提高渲染图元的外观。 |
QPaintEngine.BlendModes | 0x00008000 | 该引擎支持混合模式。 |
QPaintEngine.BrushStroke | 0x00000800 | 该引擎支持绘制包含画笔作为填充招,不只是纯色(如宽度2虚线渐变线) 。 |
QPaintEngine.ConicalGradientFill | 0x00000040 | 该引擎支持的锥形渐变填充。 |
QPaintEngine.ConstantOpacity | 0x00001000 | 该引擎支持所提供的功能QPainter.setOpacity( ) 。 |
QPaintEngine.LinearGradientFill | 0x00000010 | 该引擎支持线性渐变填充。 |
QPaintEngine.MaskedBrush | 0x00002000 | 该引擎能够呈现画笔,有带有alpha通道或遮罩的质感。 |
QPaintEngine.ObjectBoundingModeGradients | 0x00010000 | 该发动机具有梯度与原生支持坐标模式QGradient.ObjectBoundingMode。否则,如果支持QPaintEngine.PatternTransform ,对象边界模式渐变转换为梯度与协调模式QGradient.LogicalMode和一个刷子变换的坐标映射关系。 |
QPaintEngine.PainterPaths | 0x00000200 | 该发动机具有路径的支持。 |
QPaintEngine.PaintOutsidePaintEvent | 0x20000000 | 该引擎能够画的绘制事件之外。 |
QPaintEngine.PatternBrush | 0x00000008 | 该引擎能够呈现刷子在指定的笔刷模式Qt.BrushStyle。 |
QPaintEngine.PatternTransform | 0x00000002 | 该发动机具有转化刷模式的支持。 |
QPaintEngine.PerspectiveTransform | 0x00004000 | 该发动机具有对原语进行视角转换的支持。 |
QPaintEngine.PixmapTransform | 0x00000004 | 该引擎可以将像素图,包括旋转和剪切。 |
QPaintEngine.PorterDuff | 0x00000100 | 该引擎支持波特 - 达夫操作 |
QPaintEngine.PrimitiveTransform | 0x00000001 | 该发动机具有转化的绘图图元的支持。 |
QPaintEngine.RadialGradientFill | 0x00000020 | 该引擎支持的径向渐变填充。 |
QPaintEngine.RasterOpModes | 0x00020000 | 该引擎支持按位光栅操作。 |
QPaintEngine.AllFeatures | 0xffffffff | 所有的上述功能。这个枚举值通常被用作一个位掩码。 |
该PaintEngineFeatures类型是一个typedef为QFlags\u003cPaintEngineFeature\u003e 。它存储PaintEngineFeature值的或组合。
Constant | Value | Description |
---|---|---|
QPaintEngine.OddEvenMode | 0 | 多边形应使用OddEven填充规则绘制。 |
QPaintEngine.WindingMode | 1 | 多边形应使用绕线填充规则绘制。 |
QPaintEngine.ConvexMode | 2 | 多边形是凸多边形,并可以使用提供的专门的算法,其中绘制。 |
QPaintEngine.PolylineMode | 3 | 多边形的唯一的轮廓应绘制。 |
Constant | Value | Description |
---|---|---|
QPaintEngine.X11 | 0 | |
QPaintEngine.Windows | 1 | |
QPaintEngine.MacPrinter | 4 | |
QPaintEngine.CoreGraphics | 3 | Mac OS X的Quartz2D (核芯显卡) |
QPaintEngine.QuickDraw | 2 | Mac OS X的的QuickDraw |
QPaintEngine.QWindowSystem | 5 | Qt嵌入式Linux的 |
QPaintEngine.PostScript | 6 | |
QPaintEngine.OpenGL | 7 | |
QPaintEngine.Picture | 8 | QPicture格式 |
QPaintEngine.SVG | 9 | 可伸缩矢量图形的XML格式 |
QPaintEngine.Raster | 10 | |
QPaintEngine.Direct3D | 11 | 仅适用于Windows ,基于Direct3D的发动机 |
QPaintEngine.Pdf | 12 | 可移植文档格式 |
QPaintEngine.OpenVG | 13 | |
QPaintEngine.User | 50 | 第一个用户类型ID |
QPaintEngine.MaxUser | 100 | 最后用户类型ID |
QPaintEngine.OpenGL2 | 14 | |
QPaintEngine.PaintBuffer | 15 | |
QPaintEngine.Blitter | 16 |
创建一个绘图引擎与指定的FEATURESETcaps。
这种方法是抽象的,应在任何子类中重新实现。
重新实现这个函数绘制时初始化你的绘图引擎是开始绘制设备上pdev。返回True,如果初始化成功,否则返回False 。
重新实现这个函数来绘制,可以包含在矩形上最大的椭圆rect。
默认实现调用drawPolygon( ) 。
此函数的默认实现调用这个函数的浮点版本
重新实现这个函数来绘制的部分image由指定的sr矩形在给定的rectangle使用给定的转换标志flags,将其转换为像素图。
默认实现拆分中的行列表lines成lineCount单独调用drawPath()或drawPolygon( ),这取决于绘图引擎的功能集。
这是一个重载函数。
默认实现将第一lineCount在线路lines到QLineF并调用这个函数的浮点版本。
默认实现忽略path而什么都不做。
这种方法是抽象的,应在任何子类中重新实现。
重新实现这个函数来绘制的部分pm由指定的sr矩形在给定的r。
绘制第一pointCount在缓冲点points
绘制第一pointCount在缓冲点points
默认实现将第一pointCount在QPointspoints到QPointFs并调用drawPoints的浮点版本。
重新实现这个虚函数绘制由定义的多边形pointCount在第一分points,使用模式mode。
Note:至少有一个的drawPolygon ( )函数必须被重新实现。
这是一个重载函数。
重新实现这个虚函数绘制由定义的多边形pointCount在第一分points,使用模式mode。
Note:中的至少一个的drawPolygon( )函数必须被重新实现。
绘制第一rectCount在缓冲区中的矩形rects。此函数的默认实现调用drawPath()或drawPolygon( ),这取决于绘图引擎的功能集。
这是一个重载函数。
默认实现将第一rectCount在缓冲区中的矩形rects到QRectF并调用这个函数的浮点版本。
这个函数绘制文本项textItem在位置p。这个函数的默认实现文本转换为QPainterPath和油漆产生的路径。
重新实现这个函数来绘制pixmap在给定的rect开始,在给定的p。像素图将被重复绘制,直到rect被充满。
这种方法是抽象的,应在任何子类中重新实现。
重新实现此功能可将当前绘图设备上完成绘画。返回True,如果绘画是成功完成,否则返回False 。
See also begin()和isActive( ) 。
如果绘图引擎支持指定,则返回Truefeature否则返回False 。
返回True如果绘图引擎正在积极制订,否则返回False 。
See also setActive( ) 。
返回这款发动机是画上,如果画的是积极的装置,否则返回0 。
返回绘图引擎的画家。
设置绘图引擎的工作状态,以state。
See also isActive( ) 。
这种方法是抽象的,应在任何子类中重新实现。
重新实现这个函数返回的绘图引擎Type。
这种方法是抽象的,应在任何子类中重新实现。
重新实现这个函数来更新绘图引擎的状态。
完成后,该功能是负责检查油漆引擎的当前state并更新已更改的属性。使用QPaintEngineState.state( )函数来找出哪些属性,必须更新,然后使用相应的get function检索给定的属性的当前值。
See also QPaintEngineState。
PyQt 4.10.3 for X11 | Copyright © Riverbank Computing Ltd and Nokia 2012 | Qt 4.8.5 |