|
40 | 40 | } |
41 | 41 | if qtapi_env in env_to_mod_map: |
42 | 42 | QtModuleName = env_to_mod_map[qtapi_env] |
43 | | - else: |
| 43 | + else: # pragma: no cover |
44 | 44 | raise ImportError( |
45 | 45 | "QT_API environment variable set ({}) but not one of [{}].".format( |
46 | 46 | qtapi_env, ", ".join(env_to_mod_map.keys()) |
|
51 | 51 | QtModule = importlib.import_module(QtModuleName) |
52 | 52 |
|
53 | 53 | # If a Qt lib is already imported, use that |
54 | | -if not QtModule: |
| 54 | +if not QtModule: # pragma: no cover |
55 | 55 | for QtModuleName in ("PyQt5", "PyQt6", "PySide2", "PySide6"): |
56 | 56 | if QtModuleName in sys.modules: |
57 | 57 | QtModule = sys.modules[QtModuleName] |
58 | 58 | break |
59 | 59 |
|
60 | 60 | # Try importing qt libs |
61 | | -if not QtModule: |
| 61 | +if not QtModule: # pragma: no cover |
62 | 62 | for QtModuleName in ("PyQt5", "PyQt6", "PySide2", "PySide6"): |
63 | 63 | try: |
64 | 64 | QtModule = importlib.import_module(QtModuleName) |
|
72 | 72 |
|
73 | 73 | QtCore = importlib.import_module(QtModuleName + ".QtCore", package=QtModuleName) |
74 | 74 | QtGui = importlib.import_module(QtModuleName + ".QtGui", package=QtModuleName) |
75 | | - |
76 | | -if QtModuleName == "PyQt5": |
77 | | - from PyQt5 import QtWidgets |
78 | | - from PyQt5.QtCore import pyqtSlot as Slot |
79 | | - |
80 | | - QApplication = QtWidgets.QApplication |
81 | | - AllEvents = QtCore.QEventLoop.ProcessEventsFlags(0x00) |
82 | | - |
83 | | -elif QtModuleName == "PyQt6": |
84 | | - from PyQt6 import QtWidgets |
85 | | - from PyQt6.QtCore import pyqtSlot as Slot |
86 | | - |
87 | | - QApplication = QtWidgets.QApplication |
88 | | - AllEvents = QtCore.QEventLoop.ProcessEventsFlag(0x00) |
89 | | - |
90 | | -elif QtModuleName == "PySide2": |
91 | | - from PySide2 import QtWidgets |
92 | | - from PySide2.QtCore import Slot |
93 | | - |
94 | | - QApplication = QtWidgets.QApplication |
95 | | - AllEvents = QtCore.QEventLoop.ProcessEventsFlags(0x00) |
96 | | - |
97 | | -elif QtModuleName == "PySide6": |
98 | | - from PySide6 import QtWidgets |
99 | | - from PySide6.QtCore import Slot |
100 | | - |
101 | | - QApplication = QtWidgets.QApplication |
102 | | - AllEvents = QtCore.QEventLoop.ProcessEventsFlags(0x00) |
| 75 | +QtWidgets = importlib.import_module(QtModuleName + ".QtWidgets", package=QtModuleName) |
| 76 | +QApplication = QtWidgets.QApplication |
| 77 | +Slot = getattr(QtCore, "pyqtSlot", None) or getattr(QtCore, "Slot") |
| 78 | +ProcessEventsFlag = getattr(QtCore.QEventLoop, "ProcessEventsFlag", None) or getattr(QtCore.QEventLoop, "ProcessEventsFlags", None) |
| 79 | +AllEvents = ProcessEventsFlag(0x00) |
103 | 80 |
|
104 | 81 | from ._common import with_logger # noqa |
105 | 82 |
|
@@ -180,7 +157,7 @@ def __init__(self, max_workers=10, stack_size=None): |
180 | 157 | super().__init__() |
181 | 158 | self.__max_workers = max_workers |
182 | 159 | self.__queue = Queue() |
183 | | - if stack_size is None: |
| 160 | + if stack_size is None: # pragma: no cover |
184 | 161 | # Match cpython/Python/thread_pthread.h |
185 | 162 | if sys.platform.startswith("darwin"): |
186 | 163 | stack_size = 16 * 2**20 |
|
0 commit comments