y2 = y1 + 200 * (rand() - 0.5)
    lineXML.append('<path id= "path%03i" d=" M %f %f L %f %f " />' %
                   (i, x1, y1, x2, y2))
XML = '''<svg id="Ortho_0_1" width="%i" height="%i">  <g stroke-width="0.2" >
%s
</g> </svg>''' % (width, height, '\n'.join(lineXML))

viewObject = dummyViewObject(XML)

maskPen = QtGui.QPen(QtGui.QColor(0, 160, 0))
maskPen.setWidth(5.0)
hoverPen = QtGui.QPen(QtGui.QColor(0, 0, 255))
hoverPen.setWidth(5.0)

selectGraphicsItems = generateSelectionGraphicsItems(
    [viewObject],
    dimensioningRect.selectDimensioningLine,
    doLines=True,
    maskPen=maskPen,
    maskHoverPen=hoverPen)

graphicsScene.addItem(dimensioningRect)
for g in selectGraphicsItems:
    graphicsScene.addItem(g)

view = QtGui.QGraphicsView(graphicsScene)
#view.scale(2, 2)
view.show()

sys.exit(app.exec_())
Beispiel #2
0
    print(elementParms)
    referer.adjustScale(2)


maskBrush = QtGui.QBrush(QtGui.QColor(0, 255, 0, 100))
maskPen = QtGui.QPen(QtGui.QColor(0, 255, 0, 100))
maskPen.setWidth(4)
maskHoverPen = QtGui.QPen(QtGui.QColor(0, 255, 0, 255))
maskHoverPen.setWidthF(5)
generateSelectionGraphicsItems([viewObject],
                               onClickFun,
                               sceneToAddTo=graphicsScene,
                               doPoints=True,
                               doCircles=True,
                               doTextItems=True,
                               doLines=True,
                               doFittedCircles=True,
                               doEllipses=True,
                               maskPen=maskPen,
                               maskBrush=maskBrush,
                               maskHoverPen=maskHoverPen,
                               pointWid=4.0)

view = QtGui.QGraphicsView(graphicsScene)
view.setGeometry(0, 0, height - 30, height - 30)


#view.show()
class ViewHoldingWidget(QtGui.QWidget):
    def __init__(self):
        super(ViewHoldingWidget, self).__init__()
        
viewObject = dummyViewObject( XML )

def onClickFun( event, referer, elementXML, elementParms, elementViewObject ):
    print( elementXML  )
    print( elementParms )
    referer.adjustScale( 2 )


maskBrush = QtGui.QBrush( QtGui.QColor(0,255,0,100) )
maskPen =      QtGui.QPen( QtGui.QColor(0,255,0,100) )
maskPen.setWidth(4)
maskHoverPen = QtGui.QPen( QtGui.QColor(0,255,0,255) )
maskHoverPen.setWidthF(5)
generateSelectionGraphicsItems( 
    [viewObject], onClickFun, sceneToAddTo=graphicsScene, doPoints=True, doCircles=True, doTextItems=True, doLines=True, doFittedCircles=True, doEllipses=True,
    maskPen=maskPen , maskBrush=maskBrush, maskHoverPen=maskHoverPen, pointWid=4.0
)

view = QtGui.QGraphicsView(graphicsScene)
view.setGeometry(0, 0, height-30, height-30)
#view.show()
class ViewHoldingWidget(QtGui.QWidget):
    def __init__(self):
        super(ViewHoldingWidget, self).__init__()
        self.initUI()
        
    def initUI(self):
        vbox = QtGui.QVBoxLayout()
        vbox.addWidget( view )
        self.setLayout(vbox)   
        self.setGeometry(0, 0, width+30, height+30)
noPoints = 12
X = [ numpy.random.rand()*width*0.8 for i in range(noPoints) ]
Y = [ numpy.random.rand()*height*0.8 for i in range(noPoints) ]
for i in range(noPoints):
    circlesXML.append( '<circle id="circ%03i" cx ="%f" cy ="%f" r ="6" />' % (i,X[i],Y[i]) )
XML = '''<svg id="Ortho_0_1" width="%i" height="%i">  <g stroke-width="0.2" >
%s
</g> </svg>''' % (width, height, '\n'.join(circlesXML) )

viewObject = dummyViewObject( XML )
    

hoverPen = QtGui.QPen( QtGui.QColor(255,0,0) )
hoverPen.setWidth(3.0)

selectGraphicsItems = generateSelectionGraphicsItems( [viewObject], dimensioningRect.selectDimensioningPoint , doCircles=True,
                                                      maskPen= QtGui.QPen( QtGui.QColor(0,0,0) ) , 
                                                      maskBrush=QtGui.QBrush( QtGui.QColor(0,0,255) ), 
                                                      maskHoverPen= hoverPen )

graphicsScene.addItem(dimensioningRect)    
for g in selectGraphicsItems:
    graphicsScene.addItem(g)


view = QtGui.QGraphicsView(graphicsScene)
#view.scale(2, 2)
view.show()

sys.exit(app.exec_())
                      (i, (0.1 + 0.8 * rand()) * width,
                       (0.1 + 0.8 * rand()) * height, 6 + 64 * rand()))
XML = '''<svg id="Ortho_0_1" width="%i" height="%i">  <g stroke-width="0.2" >
%s
</g> </svg>''' % (width, height, '\n'.join(circlesXML))

viewObject = dummyViewObject(XML)

maskPen = QtGui.QPen(QtGui.QColor(255, 0, 0, 125))
maskPen.setWidth(3.0)
hoverPen = QtGui.QPen(QtGui.QColor(255, 0, 0))
hoverPen.setWidth(3.0)

selectGraphicsItems = generateSelectionGraphicsItems(
    [viewObject],
    dimensioningRect.selectCircle,
    doCircles=True,
    maskPen=maskPen,
    maskBrush=QtGui.QBrush(),
    maskHoverPen=hoverPen)

graphicsScene.addItem(dimensioningRect)
for g in selectGraphicsItems:
    graphicsScene.addItem(g)

view = QtGui.QGraphicsView(graphicsScene)
#view.scale(2, 2)
view.show()

sys.exit(app.exec_())
noPoints = 12
X = [ numpy.random.rand()*width*0.8 for i in range(noPoints) ]
Y = [ numpy.random.rand()*height*0.8 for i in range(noPoints) ]
for i in range(noPoints):
    circlesXML.append( '<circle id="circ%03i" cx ="%f" cy ="%f" r ="6" />' % (i,X[i],Y[i]) )
XML = '''<svg id="Ortho_0_1" width="%i" height="%i">  <g stroke-width="0.2" >
%s
</g> </svg>''' % (width, height, '\n'.join(circlesXML) )

viewObject = dummyViewObject( XML )
    

hoverPen = QtGui.QPen( QtGui.QColor(255,0,0) )
hoverPen.setWidth(3.0)

selectGraphicsItems = generateSelectionGraphicsItems( [viewObject], dimensioningRect.selectDimensioningPoint , doCircles=True,
                                                      maskPen= QtGui.QPen( QtGui.QColor(0,0,0) ) , 
                                                      maskBrush=QtGui.QBrush( QtGui.QColor(0,0,255) ), 
                                                      maskHoverPen= hoverPen )

graphicsScene.addItem(dimensioningRect)    
for g in selectGraphicsItems:
    graphicsScene.addItem(g)


view = QtGui.QGraphicsView(graphicsScene)
#view.scale(2, 2)
view.show()

sys.exit(app.exec_())
for i in range(24):
    circlesXML.append( '<circle id="circ%03i" cx ="%f" cy ="%f" r ="%s" />' % (i, (0.1+0.8*rand())*width , (0.1+0.8*rand())*height, 6 + 64*rand()  ))
XML = '''<svg id="Ortho_0_1" width="%i" height="%i">  <g stroke-width="0.2" >
%s
</g> </svg>''' % (width, height, '\n'.join(circlesXML) )

viewObject = dummyViewObject( XML )
    

maskPen = QtGui.QPen( QtGui.QColor(255,0,0, 125) )
maskPen.setWidth(3.0)
hoverPen = QtGui.QPen( QtGui.QColor(255,0,0) )
hoverPen.setWidth(3.0)

selectGraphicsItems = generateSelectionGraphicsItems( [viewObject], dimensioningRect.selectCircle , doCircles=True,
                                                      maskPen=maskPen  , 
                                                      maskBrush=QtGui.QBrush(), 
                                                      maskHoverPen= hoverPen )

graphicsScene.addItem(dimensioningRect)    
for g in selectGraphicsItems:
    graphicsScene.addItem(g)



view = QtGui.QGraphicsView(graphicsScene)
#view.scale(2, 2)
view.show()

sys.exit(app.exec_())
%s
</g> </svg>''' % (width, height, '\n'.join(lineXML) )

viewObject = dummyViewObject( XML )
    

maskPen = QtGui.QPen( QtGui.QColor(0,160,0) )
maskPen.setWidth(5.0)
hoverPen = QtGui.QPen( QtGui.QColor(0,0,255) )
hoverPen.setWidth(5.0)


selectGraphicsItems = generateSelectionGraphicsItems(
    [viewObject],
    dimensioningRect.selectDimensioningLine,
    doLines=True,
    maskPen=maskPen ,
    maskHoverPen= hoverPen
)

graphicsScene.addItem(dimensioningRect)    
for g in selectGraphicsItems:
    graphicsScene.addItem(g)


view = QtGui.QGraphicsView(graphicsScene)
#view.scale(2, 2)
view.show()

sys.exit(app.exec_())