diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-10-25 10:30:50 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-10-26 09:19:40 +0000 |
commit | f4a6d74852b0ba6711195a9c3fc9356e677a3409 (patch) | |
tree | e35347e8819a7d1aed00846d4ec24611930a164c /sources/pyside2/tests | |
parent | 33bb2851ffbdc2f22cca1293ac2a5c185bf799e2 (diff) |
PySide2: Re-enable native event filters
Add QAbstractNativeEventFilter. Re-add the native event filter
functions on QWindow and QWidget, modified to return a tuple
bool/long, using a modification from PySide.
Task-number: PYSIDE-790
Change-Id: I86fef1a0c168e69fb3391cd882ea05190985384d
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'sources/pyside2/tests')
-rw-r--r-- | sources/pyside2/tests/QtWidgets/qwidget_test.py | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/sources/pyside2/tests/QtWidgets/qwidget_test.py b/sources/pyside2/tests/QtWidgets/qwidget_test.py index 1e8387d11..028751ba7 100644 --- a/sources/pyside2/tests/QtWidgets/qwidget_test.py +++ b/sources/pyside2/tests/QtWidgets/qwidget_test.py @@ -26,6 +26,7 @@ ## ############################################################################# +import sys import unittest from PySide2.QtWidgets import QWidget, QMainWindow @@ -35,6 +36,17 @@ class QWidgetInherit(QMainWindow): def __init__(self): QWidget.__init__(self) +class NativeEventTestWidget(QWidget): + + nativeEventCount = 0 + + def __init__(self): + QWidget.__init__(self) + + def nativeEvent(self, eventType, message): + self.nativeEventCount = self.nativeEventCount + 1 + return [False, 0] + class QWidgetTest(UsesQApplication): def testInheritance(self): @@ -44,12 +56,19 @@ class QWidgetVisible(UsesQApplication): def testBasic(self): # Also related to bug #244, on existence of setVisible''' - widget = QWidget() + widget = NativeEventTestWidget() self.assertTrue(not widget.isVisible()) widget.setVisible(True) self.assertTrue(widget.isVisible()) self.assertTrue(widget.winId() is not 0) - + # skip this test on macOS since no native events are received + if sys.platform == 'darwin': + return + for i in range(10): + if widget.nativeEventCount > 0: + break + self.app.processEvents() + self.assertTrue(widget.nativeEventCount > 0) if __name__ == '__main__': unittest.main() |