diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-12-01 13:10:48 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-12-06 10:39:44 +0100 |
commit | 67bd3066173678e0ec596387872d3e9457efa107 (patch) | |
tree | e6a045d679cadefba535a39c5fd8392866e80bfc | |
parent | a37b5e7fb9aa017524627c9dc287b62f28136aa7 (diff) |
Speed up paint_event_test.py, qpen_test.py and virtual_pure_override_test
Start a timer to close the window as soon as paintEvent()
is called instead of waiting.
Pick-to: 6.2
Change-Id: Id7a0e1123e148bdc8ba142ccbe0ff9d7a02c77dd
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
-rw-r--r-- | sources/pyside6/tests/QtWidgets/paint_event_test.py | 28 | ||||
-rw-r--r-- | sources/pyside6/tests/QtWidgets/qpen_test.py | 3 | ||||
-rw-r--r-- | sources/pyside6/tests/QtWidgets/virtual_pure_override_test.py | 4 |
3 files changed, 11 insertions, 24 deletions
diff --git a/sources/pyside6/tests/QtWidgets/paint_event_test.py b/sources/pyside6/tests/QtWidgets/paint_event_test.py index 96f38f3f2..fa2b8dcb2 100644 --- a/sources/pyside6/tests/QtWidgets/paint_event_test.py +++ b/sources/pyside6/tests/QtWidgets/paint_event_test.py @@ -40,7 +40,7 @@ sys.path.append(os.fspath(Path(__file__).resolve().parents[1])) from init_paths import init_test_paths init_test_paths(False) -from PySide6.QtCore import QTimerEvent +from PySide6.QtCore import QTimer from PySide6.QtWidgets import QApplication, QWidget from helper.usesqapplication import UsesQApplication @@ -49,33 +49,19 @@ from helper.usesqapplication import UsesQApplication class MyWidget(QWidget): '''Sample widget''' - def __init__(self, app=None): + def __init__(self, app): # Creates a new widget - if app is None: - app = QApplication([]) + assert(app) super().__init__() self.app = app - self.runs = 0 - self.max_runs = 5 self.paint_event_called = False - def timerEvent(self, event): - # Timer event method - self.runs += 1 - - if self.runs == self.max_runs: - self.app.quit() - - if not isinstance(event, QTimerEvent): - raise TypeError('Invalid event type. Must be QTimerEvent') - def paintEvent(self, event): # Empty paint event method - # XXX: should be using super here, but somehow PyQt4 - # complains about paintEvent not present in super - QWidget.paintEvent(self, event) + super().paintEvent(event) self.paint_event_called = True + QTimer.singleShot(20, self.close) class PaintEventOverride(UsesQApplication): @@ -97,12 +83,10 @@ class PaintEventOverride(UsesQApplication): def testPaintEvent(self): # Test QWidget.paintEvent override - timer_id = self.widget.startTimer(100) self.widget.show() + self.widget.setWindowTitle("paint_event_test") self.app.exec() - self.widget.killTimer(timer_id) self.assertTrue(self.widget.paint_event_called) - self.assertEqual(self.widget.runs, 5) if __name__ == '__main__': diff --git a/sources/pyside6/tests/QtWidgets/qpen_test.py b/sources/pyside6/tests/QtWidgets/qpen_test.py index c06102e1c..f1fe0fc5f 100644 --- a/sources/pyside6/tests/QtWidgets/qpen_test.py +++ b/sources/pyside6/tests/QtWidgets/qpen_test.py @@ -54,6 +54,7 @@ class Painting(QWidget): self.penFromEnum = painter.pen() painter.setPen(int(Qt.NoPen)) self.penFromInteger = painter.pen() + QTimer.singleShot(20, self.close) class QPenTest(UsesQApplication): @@ -70,7 +71,7 @@ class QPenTest(UsesQApplication): '''Calls QPainter.setPen with both enum and integer. Bug #511.''' w = Painting() w.show() - QTimer.singleShot(1000, self.app.quit) + w.setWindowTitle("qpen_test") self.app.exec() self.assertEqual(w.penFromEnum.style(), Qt.NoPen) self.assertEqual(w.penFromInteger.style(), Qt.SolidLine) diff --git a/sources/pyside6/tests/QtWidgets/virtual_pure_override_test.py b/sources/pyside6/tests/QtWidgets/virtual_pure_override_test.py index 68d366c36..2807e353f 100644 --- a/sources/pyside6/tests/QtWidgets/virtual_pure_override_test.py +++ b/sources/pyside6/tests/QtWidgets/virtual_pure_override_test.py @@ -53,6 +53,8 @@ class RoundRectItem(QGraphicsRectItem): def paint(self, painter, qstyleoptiongraphicsitem, qwidget): global qgraphics_item_painted qgraphics_item_painted = True + view = self.scene().views()[0] + QTimer.singleShot(20, view.close) class QGraphicsItemTest(UsesQApplication): @@ -72,10 +74,10 @@ class QGraphicsItemTest(UsesQApplication): scene = QGraphicsScene() scene.addText("test") view = QGraphicsView(scene) + view.setWindowTitle("virtual_pure_override_test") rect = self.createRoundRect(scene) view.show() - QTimer.singleShot(1000, self.quit_app) self.app.exec() self.assertTrue(qgraphics_item_painted) |