diff options
Diffstat (limited to 'examples/widgets/tutorials/cannon/t14.py')
-rw-r--r-- | examples/widgets/tutorials/cannon/t14.py | 27 |
1 files changed, 12 insertions, 15 deletions
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) |