aboutsummaryrefslogtreecommitdiffstats
path: root/examples/widgetbinding/wigglywidget.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/widgetbinding/wigglywidget.py')
-rw-r--r--examples/widgetbinding/wigglywidget.py21
1 files changed, 9 insertions, 12 deletions
diff --git a/examples/widgetbinding/wigglywidget.py b/examples/widgetbinding/wigglywidget.py
index 11f4a81a5..63034dcff 100644
--- a/examples/widgetbinding/wigglywidget.py
+++ b/examples/widgetbinding/wigglywidget.py
@@ -89,18 +89,15 @@ class WigglyWidget(QWidget):
y = (self.height() + metrics.ascent() - metrics.descent()) / 2
color = QColor()
- painter = QPainter(self)
- for i in range(len(self.text)):
- index = (self._step + i) % 16
- color.setHsv((15 - index) * 16, 255, 191)
- painter.setPen(color)
- dy = (sineTable[index] * metrics.height()) / 400
- c = self._text[i]
- painter.drawText(x, y - dy, str(c))
- x += metrics.horizontalAdvance(c)
-
- # QPainter needs an explicit end() in PyPy. This will become a context manager in 6.3.
- painter.end()
+ with QPainter(self) as painter:
+ for i in range(len(self.text)):
+ index = (self._step + i) % 16
+ color.setHsv((15 - index) * 16, 255, 191)
+ painter.setPen(color)
+ dy = (sineTable[index] * metrics.height()) / 400
+ c = self._text[i]
+ painter.drawText(x, y - dy, str(c))
+ x += metrics.horizontalAdvance(c)
def timerEvent(self, event):
if event.timerId() == self._timer.timerId():