diff options
author | Christian Tismer <tismer@stackless.com> | 2022-01-26 12:49:43 +0100 |
---|---|---|
committer | Christian Tismer <tismer@stackless.com> | 2022-01-26 16:47:13 +0000 |
commit | b61f735acd8fa2e43a68d7d90f977d8f1506052a (patch) | |
tree | 9a5f4fb9debe1d7d51119ea9e169e58bc47bc62f /examples/widgetbinding/wigglywidget.py | |
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 <tismer@stackless.com>
Diffstat (limited to 'examples/widgetbinding/wigglywidget.py')
-rw-r--r-- | examples/widgetbinding/wigglywidget.py | 21 |
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(): |