summaryrefslogtreecommitdiff
path: root/qutebrowser/qt.py
diff options
context:
space:
mode:
Diffstat (limited to 'qutebrowser/qt.py')
-rw-r--r--qutebrowser/qt.py36
1 files changed, 34 insertions, 2 deletions
diff --git a/qutebrowser/qt.py b/qutebrowser/qt.py
index 5e0f80538..f0ba25cd4 100644
--- a/qutebrowser/qt.py
+++ b/qutebrowser/qt.py
@@ -19,11 +19,43 @@
"""Wrappers around Qt/PyQt code."""
-# pylint: disable=unused-import
+# pylint: disable=unused-import,import-error
+import importlib
+
+try:
+ import PyQt5 as pyqt # noqa: N813
+except ImportError:
+ import PyQt6 as pyqt # type: ignore[import, no-redef] # noqa: N813
# While upstream recommends using PyQt5.sip ever since PyQt5 5.11, some distributions
# still package later versions of PyQt5 with a top-level "sip" rather than "PyQt5.sip".
+# pylint: disable=ungrouped-imports
try:
- from PyQt5 import sip
+ sip = importlib.import_module(f"{pyqt.__name__}.sip")
except ImportError:
import sip # type: ignore[import, no-redef]
+
+QtCore = importlib.import_module(f"{pyqt.__name__}.QtCore")
+QtDBus = importlib.import_module(f"{pyqt.__name__}.QtDBus")
+QtGui = importlib.import_module(f"{pyqt.__name__}.QtGui")
+QtNetwork = importlib.import_module(f"{pyqt.__name__}.QtNetwork")
+QtPrintSupport = importlib.import_module(f"{pyqt.__name__}.QtPrintSupport")
+QtQml = importlib.import_module(f"{pyqt.__name__}.QtQml")
+QtSql = importlib.import_module(f"{pyqt.__name__}.QtSql")
+QtWidgets = importlib.import_module(f"{pyqt.__name__}.QtWidgets")
+
+try:
+ QtWebEngine = importlib.import_module(f"{pyqt.__name__}.QtWebEngine")
+ QtWebEngineCore = importlib.import_module(f"{pyqt.__name__}.QtWebEngineCore")
+ QtWebEngineWidgets = importlib.import_module(f"{pyqt.__name__}.QtWebEngineWidgets")
+except ImportError:
+ QtWebEngine = None
+ QtWebEngineCore = None
+ QtWebEngineWidgets = None
+
+try:
+ QtWebKit = importlib.import_module(f"{pyqt.__name__}.QtWebKit")
+ QtWebKitWidgets = importlib.import_module(f"{pyqt.__name__}.QtWebKitWidgets")
+except ImportError:
+ QtWebKit = None
+ QtWebKitWidgets = None