aboutsummaryrefslogtreecommitdiffstats
path: root/examples/widgets/imageviewer
diff options
context:
space:
mode:
authorChristian Tismer <tismer@stackless.com>2022-01-26 12:49:43 +0100
committerChristian Tismer <tismer@stackless.com>2022-01-26 16:47:13 +0000
commitb61f735acd8fa2e43a68d7d90f977d8f1506052a (patch)
tree9a5f4fb9debe1d7d51119ea9e169e58bc47bc62f /examples/widgets/imageviewer
parentdc2046124f132ba0187d1bff97364448288b1cd6 (diff)
examples: Turn most QPainter instances into context managers
After the new context manager is in place, most of the examples benefit from moving QPainter into a `with` statement. The comments concerning PyPy could be removed, again. [ChangeLog][PySide6] The examples are updated to use the new context manager for QPainter. Task-number: PYSIDE-535 Change-Id: Idf7e1f734d549ed663383ffbb2416297ebb1e0c7 Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'examples/widgets/imageviewer')
-rw-r--r--examples/widgets/imageviewer/imageviewer.py17
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):