diff options
Diffstat (limited to 'examples/widgets/imageviewer/imageviewer.py')
-rw-r--r-- | examples/widgets/imageviewer/imageviewer.py | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/examples/widgets/imageviewer/imageviewer.py b/examples/widgets/imageviewer/imageviewer.py index ebcae5fa4..177c7d026 100644 --- a/examples/widgets/imageviewer/imageviewer.py +++ b/examples/widgets/imageviewer/imageviewer.py @@ -155,15 +155,14 @@ class ImageViewer(QMainWindow): printer = QPrinter() dialog = QPrintDialog(printer, self) if dialog.exec() == QDialog.Accepted: - painter = QPainter(printer) - pixmap = self._image_label.pixmap() - rect = painter.viewport() - size = pixmap.size() - size.scale(rect.size(), Qt.KeepAspectRatio) - painter.setViewport(rect.x(), rect.y(), size.width(), size.height()) - painter.setWindow(pixmap.rect()) - painter.drawPixmap(0, 0, pixmap) - painter.end() + with QPainter(printer) as painter: + pixmap = self._image_label.pixmap() + rect = painter.viewport() + size = pixmap.size() + size.scale(rect.size(), Qt.KeepAspectRatio) + painter.setViewport(rect.x(), rect.y(), size.width(), size.height()) + painter.setWindow(pixmap.rect()) + painter.drawPixmap(0, 0, pixmap) @Slot() def _copy(self): |