def print_(self): printer = QtGui.QPrinter(QtGui.QPrinter.HighResolution) printDialog = QtGui.QPrintDialog(printer, self) if printDialog.exec_() == QtGui.QDialog.Accepted: painter = QtGui.QPainter(printer) rect = painter.viewport() size = self.image.size() size.scale(rect.size(), QtCore.Qt.KeepAspectRatio) painter.setViewport(rect.x(), rect.y(), size.width(), size.height()) painter.setWindow(self.image.rect()) painter.drawImage(0, 0, self.image) painter.end()
def __init__(self, parent=None): super(ImageViewer, self).__init__(parent) self.printer = QtGui.QPrinter() self.scaleFactor = 0.0 self.imageLabel = lab() self.imageLabel.setBackgroundRole(QtGui.QPalette.Base) self.imageLabel.setSizePolicy(QtGui.QSizePolicy.Ignored, QtGui.QSizePolicy.Ignored) self.imageLabel.setScaledContents(True) self.scrollArea = QtGui.QScrollArea() self.scrollArea.setBackgroundRole(QtGui.QPalette.Dark) self.scrollArea.setWidget(self.imageLabel) self.setCentralWidget(self.scrollArea) self.createActions() self.createMenus() self.setWindowTitle("Image Viewer") self.resize(500, 400)