Advertisement
Guest User

Untitled

a guest
Jul 24th, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. class ImageViewer(QtWidgets.QMainWindow):
  2. def __init__(self):
  3. super(ImageViewer, self).__init__()
  4.  
  5. self.scene = QtWidgets.QGraphicsScene()
  6. self.imageLabel = QtWidgets.QLabel()
  7. self.cropLabel = QtWidgets.QLabel()
  8. self.scrollArea = QtWidgets.QScrollArea()
  9. self.scrollArea.setWidget(self.imageLabel)
  10. self.setCentralWidget(widget)
  11.  
  12. self.scene.addWidget(splitter)
  13. self.view = QtWidgets.QGraphicsView(self.scene)
  14. self.view.setMouseTracking(True)
  15. self.view.setDragMode(QtWidgets.QGraphicsView.RubberBandDrag)
  16.  
  17. def mousePressEvent(self, eventQMouseEvent):
  18. print("pressed")
  19. self.originQPoint = self.view.mapToScene(eventQMouseEvent.pos())
  20. self.currentQRubberBand = QtWidgets.QRubberBand(QtWidgets.QRubberBand.Rectangle, self)
  21. self.currentQRubberBand.setGeometry(QtCore.QRect(self.originQPoint, QtCore.QSize()))
  22. self.currentQRubberBand.show()
  23.  
  24. def mouseMoveEvent(self, eventQMouseEvent):
  25. self.currentQRubberBand.setGeometry(QtCore.QRect(self.originQPoint, eventQMouseEvent.pos()).normalized())
  26.  
  27. def mouseReleaseEvent (self, eventQMouseEvent):
  28. #self.currentQRubberBand.hide()
  29. currentQRect = self.currentQRubberBand.geometry()
  30. print(currentQRect)
  31. self.currentQRubberBand.deleteLater()
  32. cropPixmap = self.pixmap.copy(currentQRect)
  33. self.cropLabel.setPixmap(cropPixmap)
  34. cropPixmap.save('output.png')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement