def test_simple(): tempfilename = tempfile.NamedTemporaryFile(suffix='.svg').name print("using %s as a temporary file" % tempfilename) view = pg.GraphicsView() view.show() scene = view.sceneObj rect = pg.QtGui.QGraphicsRectItem(0, 0, 100, 100) scene.addItem(rect) rect.setPos(20,20) rect.translate(50, 50) rect.rotate(30) rect.scale(0.5, 0.5) rect1 = pg.QtGui.QGraphicsRectItem(0, 0, 100, 100) rect1.setParentItem(rect) rect1.setFlag(rect1.ItemIgnoresTransformations) rect1.setPos(20, 20) rect1.scale(2,2) el1 = pg.QtGui.QGraphicsEllipseItem(0, 0, 100, 100) el1.setParentItem(rect1) grp = pg.ItemGroup() grp.setParentItem(rect) grp.translate(200,0) grp.rotate(30) rect2 = pg.QtGui.QGraphicsRectItem(0, 0, 100, 25) rect2.setFlag(rect2.ItemClipsChildrenToShape) rect2.setParentItem(grp) rect2.setPos(0,25) rect2.rotate(30) el = pg.QtGui.QGraphicsEllipseItem(0, 0, 100, 50) el.translate(10,-5) el.scale(0.5,2) el.setParentItem(rect2) grp2 = pg.ItemGroup() scene.addItem(grp2) grp2.scale(100,100) rect3 = pg.QtGui.QGraphicsRectItem(0,0,2,2) rect3.setPen(pg.mkPen(width=1, cosmetic=False)) grp2.addItem(rect3) ex = pg.exporters.SVGExporter(scene) ex.export(fileName=tempfilename) os.unlink(tempfilename)
def test_simple(tmpdir): view = pg.GraphicsView() view.show() scene = view.sceneObj rect = pg.QtGui.QGraphicsRectItem(0, 0, 100, 100) scene.addItem(rect) rect.setPos(20, 20) tr = pg.QtGui.QTransform() rect.setTransform(tr.translate(50, 50).rotate(30).scale(0.5, 0.5)) rect1 = pg.QtGui.QGraphicsRectItem(0, 0, 100, 100) rect1.setParentItem(rect) rect1.setFlag(rect1.GraphicsItemFlag.ItemIgnoresTransformations) rect1.setPos(20, 20) rect1.setScale(2) el1 = pg.QtGui.QGraphicsEllipseItem(0, 0, 100, 100) el1.setParentItem(rect1) grp = pg.ItemGroup() grp.setParentItem(rect) tr = pg.QtGui.QTransform() grp.setTransform(tr.translate(200, 0).rotate(30)) rect2 = pg.QtGui.QGraphicsRectItem(0, 0, 100, 25) rect2.setFlag(rect2.GraphicsItemFlag.ItemClipsChildrenToShape) rect2.setParentItem(grp) rect2.setPos(0, 25) rect2.setRotation(30) el = pg.QtGui.QGraphicsEllipseItem(0, 0, 100, 50) tr = pg.QtGui.QTransform() el.setTransform(tr.translate(10, -5).scale(0.5, 2)) el.setParentItem(rect2) grp2 = pg.ItemGroup() scene.addItem(grp2) grp2.setScale(100) rect3 = pg.QtGui.QGraphicsRectItem(0, 0, 2, 2) rect3.setPen(pg.mkPen(width=1, cosmetic=False)) grp2.addItem(rect3) ex = pg.exporters.SVGExporter(scene) tf = tmpdir.join("expot.svg") ex.export(fileName=tf)
def makeGraph(self): #g1 = pg.GraphItem(pos=self.pos, adj=self.links[self.rope], pen=0.2, symbol=None) brushes = np.where(self.fixed, pg.mkBrush(0,0,0,255), pg.mkBrush(50,50,200,255)) g2 = pg.GraphItem(pos=self.pos, adj=self.links[self.push & self.pull], pen=0.5, brush=brushes, symbol='o', size=(self.mass**0.33), pxMode=False) p = pg.ItemGroup() #p.addItem(g1) p.addItem(g2) return p
def test_simple(self): scene = pg.QtGui.QGraphicsScene() #rect = pg.QtGui.QGraphicsRectItem(0, 0, 100, 100) #scene.addItem(rect) #rect.setPos(20,20) #rect.translate(50, 50) #rect.rotate(30) #rect.scale(0.5, 0.5) #rect1 = pg.QtGui.QGraphicsRectItem(0, 0, 100, 100) #rect1.setParentItem(rect) #rect1.setFlag(rect1.ItemIgnoresTransformations) #rect1.setPos(20, 20) #rect1.scale(2,2) #el1 = pg.QtGui.QGraphicsEllipseItem(0, 0, 100, 100) #el1.setParentItem(rect1) ##grp = pg.ItemGroup() #grp.setParentItem(rect) #grp.translate(200,0) ##grp.rotate(30) #rect2 = pg.QtGui.QGraphicsRectItem(0, 0, 100, 25) #rect2.setFlag(rect2.ItemClipsChildrenToShape) #rect2.setParentItem(grp) #rect2.setPos(0,25) #rect2.rotate(30) #el = pg.QtGui.QGraphicsEllipseItem(0, 0, 100, 50) #el.translate(10,-5) #el.scale(0.5,2) #el.setParentItem(rect2) grp2 = pg.ItemGroup() scene.addItem(grp2) grp2.scale(100,100) rect3 = pg.QtGui.QGraphicsRectItem(0,0,2,2) rect3.setPen(pg.mkPen(width=1, cosmetic=False)) grp2.addItem(rect3) ex = pg.exporters.SVGExporter.SVGExporter(scene) ex.export(fileName='test.svg')
def __init__(self, **opts): defOpts = {'movable': False, 'scalable': False} defOpts.update(opts) item = pg.ItemGroup() CanvasItem.__init__(self, item, **defOpts)
roi1 = pg.RectROI((posx, posy), size, pen=9) roi2 = pg.RectROI((posx, posy), size, pen=9) roi1.addScaleHandle([0, 0], [1, 1]) roi2.addScaleHandle([0, 0], [1, 1]) roi1.addScaleRotateHandle([1, 0], [1, 1]) roi2.addScaleRotateHandle([1, 0], [1, 1]) # Convert OpenCV-style transform to Qt-style. # First, swap x <=> y qtmat = warpmat[[1, 0, 2]][:, [1, 0, 2]] # Transpose and build QTransform: elements = np.array(qtmat).T.flatten() roitrans = pg.QtGui.QTransform(*elements) transitem = pg.ItemGroup() transitem.setTransform(roitrans) roi2.setParentItem(transitem) vb1.addItem(roi1) vb2.addItem(transitem) # This method will handle ROI region changes def regionChanged(source): """This method will handle ROI region changes.""" # 'source' refers to the ROI that was moved by the user; # 'target' will be the other ROI. target = roi2 if source == roi1 else roi1