10.1.5.2.6. QtPainter

Module to implement a Qt Painter.

class Patro.GraphicEngine.Painter.QtPainter.QtPainter(scene=None)[source]

Bases: Patro.GraphicEngine.Painter.Painter.Painter

Class to implement a Qt painter.

__CAP_STYLE__ = {<CapStyle.FlatCap: 1>: 0, <CapStyle.SquareCap: 2>: 16, <CapStyle.RoundCap: 3>: 32}
__JOIN_STYLE__ = {<JoinStyle.MiterJoin: 1>: 0, <JoinStyle.BevelJoin: 2>: 64, <JoinStyle.RoundJoin: 3>: 128, <JoinStyle.SvgMiterJoin: 4>: 256}
__STROKE_STYLE__ = {<StrokeStyle.NoPen: 1>: 0, <StrokeStyle.SolidLine: 2>: 1, <StrokeStyle.DashLine: 3>: 2, <StrokeStyle.DotLine: 4>: 3, <StrokeStyle.DashDotLine: 5>: 4, <StrokeStyle.DashDotDotLine: 6>: 5}
__init__(scene=None)[source]

Initialize self. See help(type(self)) for accurate signature.

__paint_method__ = {<class 'Patro.GraphicEngine.GraphicScene.GraphicItem.TextItem'>: <function QtPainter.paint_TextItem>, <class 'Patro.GraphicEngine.GraphicScene.GraphicItem.CircleItem'>: <function QtPainter.paint_CircleItem>, <class 'Patro.GraphicEngine.GraphicScene.GraphicItem.EllipseItem'>: <function QtPainter.paint_EllipseItem>, <class 'Patro.GraphicEngine.GraphicScene.GraphicItem.SegmentItem'>: <function QtPainter.paint_SegmentItem>, <class 'Patro.GraphicEngine.GraphicScene.GraphicItem.PolylineItem'>: <function QtPainter.paint_PolylineItem>, <class 'Patro.GraphicEngine.GraphicScene.GraphicItem.PolygonItem'>: <function QtPainter.paint_PolygonItem>, <class 'Patro.GraphicEngine.GraphicScene.GraphicItem.ImageItem'>: <function QtPainter.paint_ImageItem>, <class 'Patro.GraphicEngine.GraphicScene.GraphicItem.CubicBezierItem'>: <function QtPainter.paint_CubicBezierItem>, <class 'Patro.GraphicEngine.GraphicScene.GraphicItem.QuadraticBezierItem'>: <function QtPainter.paint_QuadraticBezierItem>, <class 'Patro.GraphicEngine.GraphicScene.GraphicItem.PathItem'>: <function QtPainter.paint_PathItem>}
_logger = <Logger Patro.GraphicEngine.Painter.QtPainter.QtPainter (WARNING)>
_paint_arc(item, center, radius_x, radius_y)[source]
_paint_axis_grid(xinf, xsup, yinf, ysup, is_x, step)[source]
_paint_cubic(item, vertices)[source]
_paint_grid()[source]
_set_pen(item)[source]
cast_position(position)[source]

Cast coordinate, apply scope transformation and convert scene to viewport, position can be a coordinate name string of a:class:Vector2D.

length_scene_to_viewport(length)[source]
paint(painter)[source]
paint_CircleItem(item)[source]
paint_CoordinateItem(item)[source]
paint_CubicBezierItem(item)[source]
paint_EllipseItem(item)[source]
paint_ImageItem(item)[source]
paint_PathItem(item)[source]
paint_PolygonItem(item)[source]
paint_PolylineItem(item)[source]
paint_QuadraticBezierItem(item)[source]
paint_SegmentItem(item)[source]
paint_TextItem(item)[source]
scene_area
scene_to_viewport(position)[source]
to_svg(path, scale=10, dpi=100, title='', description='')[source]

Render the scene to SVG

class Patro.GraphicEngine.Painter.QtPainter.QtQuickPaintedSceneItem(parent=None)[source]

Bases: PyQt5.QtQuick.QQuickPaintedItem, Patro.GraphicEngine.Painter.QtPainter.QtPainter

Class to implement a painter as Qt Quick item

__init__(parent=None)[source]

Initialize self. See help(type(self)) for accurate signature.

__paint_method__ = {<class 'Patro.GraphicEngine.GraphicScene.GraphicItem.TextItem'>: <function QtPainter.paint_TextItem>, <class 'Patro.GraphicEngine.GraphicScene.GraphicItem.CircleItem'>: <function QtPainter.paint_CircleItem>, <class 'Patro.GraphicEngine.GraphicScene.GraphicItem.EllipseItem'>: <function QtPainter.paint_EllipseItem>, <class 'Patro.GraphicEngine.GraphicScene.GraphicItem.SegmentItem'>: <function QtPainter.paint_SegmentItem>, <class 'Patro.GraphicEngine.GraphicScene.GraphicItem.PolylineItem'>: <function QtPainter.paint_PolylineItem>, <class 'Patro.GraphicEngine.GraphicScene.GraphicItem.PolygonItem'>: <function QtPainter.paint_PolygonItem>, <class 'Patro.GraphicEngine.GraphicScene.GraphicItem.ImageItem'>: <function QtPainter.paint_ImageItem>, <class 'Patro.GraphicEngine.GraphicScene.GraphicItem.CubicBezierItem'>: <function QtPainter.paint_CubicBezierItem>, <class 'Patro.GraphicEngine.GraphicScene.GraphicItem.QuadraticBezierItem'>: <function QtPainter.paint_QuadraticBezierItem>, <class 'Patro.GraphicEngine.GraphicScene.GraphicItem.PathItem'>: <function QtPainter.paint_PathItem>}
_logger = <Logger Patro.GraphicEngine.Painter.QtPainter.QtQuickPaintedSceneItem (WARNING)>
fit_scene()[source]
format_coordinate(position)[source]
geometryChanged(self, QRectF, QRectF)[source]
item_at(position, radius_px=10)[source]
length_scene_to_viewport(length)[source]
length_viewport_to_scene(length)[source]
pan(dxy)[source]
scene
sceneChanged
scene_area
scene_to_viewport(position)[source]
zoom
zoom_at(position, zoom)[source]
zoom_at_center(zoom)[source]
class Patro.GraphicEngine.Painter.QtPainter.QtScene[source]

Bases: PyQt5.QtCore.QObject, Patro.GraphicEngine.GraphicScene.Scene.GraphicScene

Class to add Qt Object features to GraphicScene .

__init__()[source]

Initialize self. See help(type(self)) for accurate signature.

_logger = <Logger Patro.GraphicEngine.Painter.QtPainter.QtScene (WARNING)>
class Patro.GraphicEngine.Painter.QtPainter.ViewportArea[source]

Bases: object

Class to implement a viewport.

__bool__()[source]
__init__()[source]

Initialize self. See help(type(self)) for accurate signature.

_compute_scale_to_fit_scene(margin=None)[source]
_logger = <Logger Patro.GraphicEngine.Painter.QtPainter.ViewportArea (WARNING)>
classmethod _point_to_np(point)[source]
classmethod _to_np_array(*args)[source]
_update_viewport_area()[source]
area
center
fit_scene()[source]
length_scene_to_viewport(length)[source]
length_viewport_to_scene(length)[source]
pan_delta_to_scene(position)[source]
scale_mm_by_px
scale_px_by_mm
scene
scene_area
scene_to_viewport(position)[source]
viewport_size
viewport_to_scene(position)[source]
zoom_at(center, scale)[source]