diff options
author | Christian Tismer <[email protected]> | 2022-01-26 12:49:43 +0100 |
---|---|---|
committer | Christian Tismer <[email protected]> | 2022-01-26 16:47:13 +0000 |
commit | b61f735acd8fa2e43a68d7d90f977d8f1506052a (patch) | |
tree | 9a5f4fb9debe1d7d51119ea9e169e58bc47bc62f /examples/widgets/tutorials/cannon | |
parent | dc2046124f132ba0187d1bff97364448288b1cd6 (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 <[email protected]>
Diffstat (limited to 'examples/widgets/tutorials/cannon')
-rw-r--r-- | examples/widgets/tutorials/cannon/t10.py | 19 | ||||
-rw-r--r-- | examples/widgets/tutorials/cannon/t11.py | 11 | ||||
-rw-r--r-- | examples/widgets/tutorials/cannon/t12.py | 13 | ||||
-rw-r--r-- | examples/widgets/tutorials/cannon/t13.py | 25 | ||||
-rw-r--r-- | examples/widgets/tutorials/cannon/t14.py | 27 | ||||
-rw-r--r-- | examples/widgets/tutorials/cannon/t8.py | 6 | ||||
-rw-r--r-- | examples/widgets/tutorials/cannon/t9.py | 19 |
7 files changed, 50 insertions, 70 deletions
diff --git a/examples/widgets/tutorials/cannon/t10.py b/examples/widgets/tutorials/cannon/t10.py index 98b5f57fe..0e553f8c5 100644 --- a/examples/widgets/tutorials/cannon/t10.py +++ b/examples/widgets/tutorials/cannon/t10.py @@ -129,17 +129,14 @@ class CannonField(QWidget): self.force_changed.emit(self._current_force) def paintEvent(self, event): - painter = QPainter(self) - - painter.setPen(Qt.NoPen) - painter.setBrush(Qt.blue) - - painter.translate(0, self.height()) - painter.drawPie(QRect(-35, -35, 70, 70), 0, 90 * 16) - painter.rotate(-self._current_angle) - painter.drawRect(QRect(33, -4, 15, 8)) - # QPainter needs an explicit end() in PyPy. This will become a context manager in 6.3. - painter.end() + with QPainter(self) as painter: + painter.setPen(Qt.NoPen) + painter.setBrush(Qt.blue) + + painter.translate(0, self.height()) + painter.drawPie(QRect(-35, -35, 70, 70), 0, 90 * 16) + painter.rotate(-self._current_angle) + painter.drawRect(QRect(33, -4, 15, 8)) def cannon_rect(self): result = QRect(0, 0, 50, 50) diff --git a/examples/widgets/tutorials/cannon/t11.py b/examples/widgets/tutorials/cannon/t11.py index ea8e53a8e..fa2198e10 100644 --- a/examples/widgets/tutorials/cannon/t11.py +++ b/examples/widgets/tutorials/cannon/t11.py @@ -159,13 +159,10 @@ class CannonField(QWidget): self.update(region) def paintEvent(self, event): - painter = QPainter(self) - - self.paint_cannon(painter) - if self._auto_shoot_timer.isActive(): - self.paint_shot(painter) - # QPainter needs an explicit end() in PyPy. This will become a context manager in 6.3. - painter.end() + with QPainter(self) as painter: + self.paint_cannon(painter) + if self._auto_shoot_timer.isActive(): + self.paint_shot(painter) def paint_shot(self, painter): painter.setPen(Qt.NoPen) diff --git a/examples/widgets/tutorials/cannon/t12.py b/examples/widgets/tutorials/cannon/t12.py index 98b2ff248..bfde8d5de 100644 --- a/examples/widgets/tutorials/cannon/t12.py +++ b/examples/widgets/tutorials/cannon/t12.py @@ -198,15 +198,12 @@ class CannonField(QWidget): self.update(region) def paintEvent(self, event): - painter = QPainter(self) + with QPainter(self) as painter: + self.paint_cannon(painter) + if self._auto_shoot_timer.isActive(): + self.paint_shot(painter) - self.paint_cannon(painter) - if self._auto_shoot_timer.isActive(): - self.paint_shot(painter) - - self.paint_target(painter) - # QPainter needs an explicit end() in PyPy. This will become a context manager in 6.3. - painter.end() + self.paint_target(painter) def paint_shot(self, painter): painter.setPen(Qt.NoPen) diff --git a/examples/widgets/tutorials/cannon/t13.py b/examples/widgets/tutorials/cannon/t13.py index 3ac05f435..fe487de53 100644 --- a/examples/widgets/tutorials/cannon/t13.py +++ b/examples/widgets/tutorials/cannon/t13.py @@ -220,20 +220,17 @@ class CannonField(QWidget): self.update(region) def paintEvent(self, event): - painter = QPainter(self) - - if self._game_ended: - painter.setPen(Qt.black) - painter.setFont(QFont("Courier", 48, QFont.Bold)) - painter.drawText(self.rect(), Qt.AlignCenter, "Game Over") - - self.paint_cannon(painter) - if self.is_shooting(): - self.paint_shot(painter) - if not self._game_ended: - self.paint_target(painter) - # QPainter needs an explicit end() in PyPy. This will become a context manager in 6.3. - painter.end() + with QPainter(self) as painter: + if self._game_ended: + painter.setPen(Qt.black) + painter.setFont(QFont("Courier", 48, QFont.Bold)) + painter.drawText(self.rect(), Qt.AlignCenter, "Game Over") + + self.paint_cannon(painter) + if self.is_shooting(): + self.paint_shot(painter) + if not self._game_ended: + self.paint_target(painter) def paint_shot(self, painter): painter.setPen(Qt.NoPen) diff --git a/examples/widgets/tutorials/cannon/t14.py b/examples/widgets/tutorials/cannon/t14.py index 8a3fe98e8..ac6924a3b 100644 --- a/examples/widgets/tutorials/cannon/t14.py +++ b/examples/widgets/tutorials/cannon/t14.py @@ -243,21 +243,18 @@ class CannonField(QWidget): self._barrel_pressed = False def paintEvent(self, event): - painter = QPainter(self) - - if self._game_ended: - painter.setPen(Qt.black) - painter.setFont(QFont("Courier", 48, QFont.Bold)) - painter.drawText(self.rect(), Qt.AlignCenter, "Game Over") - - self.paint_cannon(painter) - self.paint_barrier(painter) - if self.is_shooting(): - self.paint_shot(painter) - if not self._game_ended: - self.paint_target(painter) - # QPainter needs an explicit end() in PyPy. This will become a context manager in 6.3. - painter.end() + with QPainter(self) as painter: + if self._game_ended: + painter.setPen(Qt.black) + painter.setFont(QFont("Courier", 48, QFont.Bold)) + painter.drawText(self.rect(), Qt.AlignCenter, "Game Over") + + self.paint_cannon(painter) + self.paint_barrier(painter) + if self.is_shooting(): + self.paint_shot(painter) + if not self._game_ended: + self.paint_target(painter) def paint_shot(self, painter): painter.setPen(Qt.NoPen) diff --git a/examples/widgets/tutorials/cannon/t8.py b/examples/widgets/tutorials/cannon/t8.py index b02a049cc..757015495 100644 --- a/examples/widgets/tutorials/cannon/t8.py +++ b/examples/widgets/tutorials/cannon/t8.py @@ -115,10 +115,8 @@ class CannonField(QWidget): self.angle_changed.emit(self._current_angle) def paintEvent(self, event): - painter = QPainter(self) - painter.drawText(200, 200, f"Angle = {self._current_angle}") - # QPainter needs an explicit end() in PyPy. This will become a context manager in 6.3. - painter.end() + with QPainter(self) as painter: + painter.drawText(200, 200, f"Angle = {self._current_angle}") class MyWidget(QWidget): diff --git a/examples/widgets/tutorials/cannon/t9.py b/examples/widgets/tutorials/cannon/t9.py index f18144310..a682c8356 100644 --- a/examples/widgets/tutorials/cannon/t9.py +++ b/examples/widgets/tutorials/cannon/t9.py @@ -115,17 +115,14 @@ class CannonField(QWidget): self.angle_changed.emit(self._current_angle) def paintEvent(self, event): - painter = QPainter(self) - - painter.setPen(Qt.NoPen) - painter.setBrush(Qt.blue) - - painter.translate(0, self.rect().height()) - painter.drawPie(QRect(-35, -35, 70, 70), 0, 90 * 16) - painter.rotate(-self._current_angle) - painter.drawRect(QRect(33, -4, 15, 8)) - # QPainter needs an explicit end() in PyPy. This will become a context manager in 6.3. - painter.end() + with QPainter(self) as painter: + painter.setPen(Qt.NoPen) + painter.setBrush(Qt.blue) + + painter.translate(0, self.rect().height()) + painter.drawPie(QRect(-35, -35, 70, 70), 0, 90 * 16) + painter.rotate(-self._current_angle) + painter.drawRect(QRect(33, -4, 15, 8)) class MyWidget(QWidget): |