1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
class graphicsView (QGraphicsView):
def __init__ (self, AppWindow,parent=None):
super (graphicsView, self).__init__ (parent)
self._zoom = 0
#self.parent = parent
#self.scene=AppWindow.scene
self.scene = QGraphicsScene()
self.angleSlider=AppWindow.angleSlider
self.angleSlider.sliderReleased.connect(self.rotate_item)
self.setMouseTracking(True)
self.setInteractive(True)
self.coo1line=AppWindow.coo1line
self.coo2line=AppWindow.coo2line
self.coo3line=AppWindow.coo3line
self.setMouseTracking(True)
def hoverEnterEvent(self, event):
shape = QtGui.QCursor(QtCore.Qt.CrossCursor)
cursor = QtGui.QCursor(shape, -1, -1)
self.setCursor(cursor)
def wheelEvent(self, event):
self.zoom_step = 1.1
zoom_in = event.angleDelta()
if zoom_in.y() > 0:
zoom = self.zoom_step
else:
zoom = 1 / self.zoom_step
print("zoom",zoom)
self.scale(zoom, zoom)
print("view",self.scale(zoom, zoom))
def paintMarkers(self, event):
self.circleItem = QGraphicsEllipseItem(0,0,10,10)
self.circleItem.setPos(self.p.x()-self.circleItem.boundingRect().width()/2.0,
self.p.y()-self.circleItem.boundingRect().height()/2.0)
self.scene.addItem(self.circleItem)
self.circleItem.setPen(QtGui.QPen(QtCore.Qt.red, 1.5))
def mousePressEvent(self, event):
super(graphicsView, self).mousePressEvent(event)
self.setCursor(QtGui.QCursor(QtCore.Qt.CrossCursor))
self.p = self.mapToScene(event.pos())
self.paintMarkers(event)
#self.item.leftMouseButtonPressed.emit(scenePos.x(), scenePos.y())
def mouseMoveEvent(self, event):
super(graphicsView, self).mouseMoveEvent(event)
self.setCursor(QtGui.QCursor(QtCore.Qt.CrossCursor))
def mouseReleaseEvent(self, event):
super(graphicsView, self).mouseReleaseEvent(event)
self.leftClick = False |
Partager