aboutsummaryrefslogtreecommitdiffstats
path: root/examples/multimedia/audiosource
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/multimedia/audiosource
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/multimedia/audiosource')
-rw-r--r--examples/multimedia/audiosource/audiosource.py24
1 files changed, 10 insertions, 14 deletions
diff --git a/examples/multimedia/audiosource/audiosource.py b/examples/multimedia/audiosource/audiosource.py
index 8f11e5c4b..6d1b60919 100644
--- a/examples/multimedia/audiosource/audiosource.py
+++ b/examples/multimedia/audiosource/audiosource.py
@@ -112,23 +112,19 @@ class RenderArea(QWidget):
self.update()
def paintEvent(self, event: PySide6.QtGui.QPaintEvent) -> None:
- painter = QPainter(self)
- painter.setPen(Qt.black)
- frame = painter.viewport() - QMargins(10, 10, 10, 10)
+ with QPainter(self) as painter:
+ painter.setPen(Qt.black)
+ frame = painter.viewport() - QMargins(10, 10, 10, 10)
- painter.drawRect(frame)
+ painter.drawRect(frame)
- if self.m_level == 0.0:
- # QPainter needs an explicit end() in PyPy. This will become a context manager in 6.3.
- painter.end()
- return
+ if self.m_level == 0.0:
+ return
- pos: int = round((frame.width() - 1) * self.m_level)
- painter.fillRect(
- frame.left() + 1, frame.top() + 1, pos, frame.height() - 1, Qt.red
- )
- # QPainter needs an explicit end() in PyPy. This will become a context manager in 6.3.
- painter.end()
+ pos: int = round((frame.width() - 1) * self.m_level)
+ painter.fillRect(
+ frame.left() + 1, frame.top() + 1, pos, frame.height() - 1, Qt.red
+ )
class InputTest(QWidget):