summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJimmy <jimmy@spalge.com>2022-04-09 14:01:41 +1200
committerJimmy <jimmy@spalge.com>2022-04-10 11:08:16 +1200
commite2466fae8aa5f6228cf3c3f29767ad60e027007b (patch)
tree1b3dcd40939b5c0f46c1d8241cc0bb8bb2f21d26
parent3f31e36bc79516cd827ca739588abd5c3df3c34a (diff)
downloadqutebrowser-e2466fae8aa5f6228cf3c3f29767ad60e027007b.tar.gz
qutebrowser-e2466fae8aa5f6228cf3c3f29767ad60e027007b.zip
Re-write all PyQt imports to go via qutebrowser.qt
This is the first step in making qutebrowser work with both PyQt5 and PyQt6. Namely: not having that module name everywhere throughout the codebase. This was a mechanical re-write performed like so: git ls-files -z | xargs -0 sed -i 's/^\(\s*\)from PyQt5\./\1from qutebrowser.qt./' git ls-files -z | xargs -0 sed -i 's/^\(\s*\)import PyQt5\./\1import qutebrowser.qt./' git ls-files -z | xargs -0 sed -i 's/^\(\s*\)from PyQt5 import/\1from qutebrowser.qt import/' This commit won't run as the imports will currently fail, see the next commit for making them work. I was hoping to use semgrep but, while it seems to detect import patterns fine, using it to autofix them doesn't work so well. When multiple objects are imported from somewhere it attempts to do the autofix once for each thing imported. So the fixes mangle each other because they don't re-compute what they are supposed to do. Eg `semgrep --lang=py -e 'from PyQt5.$SUBMODULE import ($IMPORTEES)' --replacement 'from qutebrowser.qt.$SUBMODULE import ($IMPORTEES)' qutebrowser/mainwindow/tabbedbrowser.py -a` The "importees" part of the import pattern doesn't seem to be optional either.
-rwxr-xr-xmisc/userscripts/add-nextcloud-bookmarks2
-rwxr-xr-xmisc/userscripts/add-nextcloud-cookbook2
-rwxr-xr-xmisc/userscripts/qute-keepass4
-rw-r--r--qutebrowser/api/config.py2
-rw-r--r--qutebrowser/api/downloads.py2
-rw-r--r--qutebrowser/app.py6
-rw-r--r--qutebrowser/browser/browsertab.py16
-rw-r--r--qutebrowser/browser/commands.py4
-rw-r--r--qutebrowser/browser/downloads.py2
-rw-r--r--qutebrowser/browser/downloadview.py4
-rw-r--r--qutebrowser/browser/eventfilter.py2
-rw-r--r--qutebrowser/browser/greasemonkey.py2
-rw-r--r--qutebrowser/browser/hints.py4
-rw-r--r--qutebrowser/browser/history.py4
-rw-r--r--qutebrowser/browser/inspector.py6
-rw-r--r--qutebrowser/browser/navigate.py2
-rw-r--r--qutebrowser/browser/network/pac.py6
-rw-r--r--qutebrowser/browser/network/proxy.py4
-rw-r--r--qutebrowser/browser/pdfjs.py2
-rw-r--r--qutebrowser/browser/qtnetworkdownloads.py6
-rw-r--r--qutebrowser/browser/qutescheme.py2
-rw-r--r--qutebrowser/browser/shared.py2
-rw-r--r--qutebrowser/browser/signalfilter.py2
-rw-r--r--qutebrowser/browser/urlmarks.py2
-rw-r--r--qutebrowser/browser/webelem.py4
-rw-r--r--qutebrowser/browser/webengine/certificateerror.py4
-rw-r--r--qutebrowser/browser/webengine/interceptor.py4
-rw-r--r--qutebrowser/browser/webengine/notification.py14
-rw-r--r--qutebrowser/browser/webengine/tabhistory.py2
-rw-r--r--qutebrowser/browser/webengine/webenginedownloads.py4
-rw-r--r--qutebrowser/browser/webengine/webengineelem.py6
-rw-r--r--qutebrowser/browser/webengine/webengineinspector.py6
-rw-r--r--qutebrowser/browser/webengine/webenginequtescheme.py4
-rw-r--r--qutebrowser/browser/webengine/webenginesettings.py6
-rw-r--r--qutebrowser/browser/webengine/webenginetab.py12
-rw-r--r--qutebrowser/browser/webengine/webview.py6
-rw-r--r--qutebrowser/browser/webkit/cache.py2
-rw-r--r--qutebrowser/browser/webkit/certificateerror.py2
-rw-r--r--qutebrowser/browser/webkit/cookies.py4
-rw-r--r--qutebrowser/browser/webkit/http.py2
-rw-r--r--qutebrowser/browser/webkit/mhtml.py2
-rw-r--r--qutebrowser/browser/webkit/network/networkmanager.py4
-rw-r--r--qutebrowser/browser/webkit/network/networkreply.py4
-rw-r--r--qutebrowser/browser/webkit/network/webkitqutescheme.py4
-rw-r--r--qutebrowser/browser/webkit/tabhistory.py2
-rw-r--r--qutebrowser/browser/webkit/webkitelem.py6
-rw-r--r--qutebrowser/browser/webkit/webkithistory.py2
-rw-r--r--qutebrowser/browser/webkit/webkitinspector.py6
-rw-r--r--qutebrowser/browser/webkit/webkitsettings.py8
-rw-r--r--qutebrowser/browser/webkit/webkittab.py12
-rw-r--r--qutebrowser/browser/webkit/webpage.py12
-rw-r--r--qutebrowser/browser/webkit/webview.py6
-rw-r--r--qutebrowser/commands/argparser.py2
-rw-r--r--qutebrowser/commands/runners.py2
-rw-r--r--qutebrowser/commands/userscripts.py2
-rw-r--r--qutebrowser/completion/completer.py2
-rw-r--r--qutebrowser/completion/completiondelegate.py6
-rw-r--r--qutebrowser/completion/completionwidget.py4
-rw-r--r--qutebrowser/completion/models/completionmodel.py2
-rw-r--r--qutebrowser/completion/models/filepathcategory.py2
-rw-r--r--qutebrowser/completion/models/histcategory.py4
-rw-r--r--qutebrowser/completion/models/listcategory.py6
-rw-r--r--qutebrowser/completion/models/urlmodel.py2
-rw-r--r--qutebrowser/components/braveadblock.py2
-rw-r--r--qutebrowser/components/hostblock.py2
-rw-r--r--qutebrowser/components/misccommands.py4
-rw-r--r--qutebrowser/components/readlinecommands.py2
-rw-r--r--qutebrowser/components/utils/blockutils.py2
-rw-r--r--qutebrowser/config/config.py2
-rw-r--r--qutebrowser/config/configcommands.py2
-rw-r--r--qutebrowser/config/configfiles.py4
-rw-r--r--qutebrowser/config/configinit.py2
-rw-r--r--qutebrowser/config/configtypes.py8
-rw-r--r--qutebrowser/config/configutils.py6
-rw-r--r--qutebrowser/config/qtargs.py2
-rw-r--r--qutebrowser/config/stylesheet.py2
-rw-r--r--qutebrowser/config/websettings.py4
-rw-r--r--qutebrowser/extensions/interceptors.py2
-rw-r--r--qutebrowser/extensions/loader.py2
-rw-r--r--qutebrowser/keyinput/basekeyparser.py4
-rw-r--r--qutebrowser/keyinput/eventfilter.py4
-rw-r--r--qutebrowser/keyinput/keyutils.py4
-rw-r--r--qutebrowser/keyinput/modeman.py4
-rw-r--r--qutebrowser/keyinput/modeparsers.py4
-rw-r--r--qutebrowser/mainwindow/mainwindow.py6
-rw-r--r--qutebrowser/mainwindow/messageview.py4
-rw-r--r--qutebrowser/mainwindow/prompt.py4
-rw-r--r--qutebrowser/mainwindow/statusbar/bar.py4
-rw-r--r--qutebrowser/mainwindow/statusbar/command.py6
-rw-r--r--qutebrowser/mainwindow/statusbar/keystring.py2
-rw-r--r--qutebrowser/mainwindow/statusbar/percentage.py2
-rw-r--r--qutebrowser/mainwindow/statusbar/progress.py4
-rw-r--r--qutebrowser/mainwindow/statusbar/tabindex.py2
-rw-r--r--qutebrowser/mainwindow/statusbar/textbase.py6
-rw-r--r--qutebrowser/mainwindow/statusbar/url.py2
-rw-r--r--qutebrowser/mainwindow/tabbedbrowser.py4
-rw-r--r--qutebrowser/mainwindow/tabwidget.py6
-rw-r--r--qutebrowser/mainwindow/windowundo.py2
-rw-r--r--qutebrowser/misc/autoupdate.py2
-rw-r--r--qutebrowser/misc/backendproblem.py14
-rw-r--r--qutebrowser/misc/cmdhistory.py2
-rw-r--r--qutebrowser/misc/consolewidget.py6
-rw-r--r--qutebrowser/misc/crashdialog.py4
-rw-r--r--qutebrowser/misc/crashsignal.py4
-rw-r--r--qutebrowser/misc/earlyinit.py18
-rw-r--r--qutebrowser/misc/editor.py2
-rw-r--r--qutebrowser/misc/elf.py2
-rw-r--r--qutebrowser/misc/guiprocess.py2
-rw-r--r--qutebrowser/misc/httpclient.py4
-rw-r--r--qutebrowser/misc/ipc.py4
-rw-r--r--qutebrowser/misc/keyhintwidget.py4
-rw-r--r--qutebrowser/misc/lineparser.py2
-rw-r--r--qutebrowser/misc/miscwidgets.py6
-rw-r--r--qutebrowser/misc/msgbox.py4
-rw-r--r--qutebrowser/misc/objects.py2
-rw-r--r--qutebrowser/misc/pastebin.py2
-rw-r--r--qutebrowser/misc/quitter.py2
-rw-r--r--qutebrowser/misc/savemanager.py2
-rw-r--r--qutebrowser/misc/sessions.py2
-rw-r--r--qutebrowser/misc/sql.py4
-rw-r--r--qutebrowser/misc/throttle.py2
-rw-r--r--qutebrowser/misc/utilcmds.py4
-rw-r--r--qutebrowser/resources.py2
-rw-r--r--qutebrowser/utils/debug.py2
-rw-r--r--qutebrowser/utils/error.py2
-rw-r--r--qutebrowser/utils/jinja.py2
-rw-r--r--qutebrowser/utils/log.py2
-rw-r--r--qutebrowser/utils/message.py2
-rw-r--r--qutebrowser/utils/objreg.py6
-rw-r--r--qutebrowser/utils/qtutils.py10
-rw-r--r--qutebrowser/utils/standarddir.py4
-rw-r--r--qutebrowser/utils/urlmatch.py2
-rw-r--r--qutebrowser/utils/urlutils.py4
-rw-r--r--qutebrowser/utils/usertypes.py4
-rw-r--r--qutebrowser/utils/utils.py6
-rw-r--r--qutebrowser/utils/version.py12
-rw-r--r--scripts/dev/standardpaths_tester.py2
-rw-r--r--scripts/keytester.py2
-rw-r--r--scripts/opengl_info.py2
-rwxr-xr-xscripts/testbrowser/testbrowser_webengine.py6
-rwxr-xr-xscripts/testbrowser/testbrowser_webkit.py8
-rw-r--r--tests/conftest.py8
-rw-r--r--tests/end2end/conftest.py4
-rw-r--r--tests/end2end/features/test_downloads_bdd.py2
-rw-r--r--tests/end2end/features/test_editor_bdd.py2
-rw-r--r--tests/end2end/fixtures/notificationserver.py6
-rw-r--r--tests/end2end/fixtures/quteprocess.py4
-rw-r--r--tests/end2end/fixtures/test_testprocess.py2
-rw-r--r--tests/end2end/fixtures/testprocess.py4
-rw-r--r--tests/end2end/fixtures/webserver.py2
-rw-r--r--tests/end2end/test_dirbrowser.py2
-rw-r--r--tests/end2end/test_invocations.py2
-rw-r--r--tests/helpers/fixtures.py10
-rw-r--r--tests/helpers/messagemock.py2
-rw-r--r--tests/helpers/stubs.py8
-rw-r--r--tests/helpers/testutils.py6
-rw-r--r--tests/unit/browser/test_caret.py2
-rw-r--r--tests/unit/browser/test_downloadview.py2
-rw-r--r--tests/unit/browser/test_hints.py2
-rw-r--r--tests/unit/browser/test_history.py6
-rw-r--r--tests/unit/browser/test_inspector.py2
-rw-r--r--tests/unit/browser/test_navigate.py2
-rw-r--r--tests/unit/browser/test_pdfjs.py2
-rw-r--r--tests/unit/browser/test_qutescheme.py2
-rw-r--r--tests/unit/browser/test_signalfilter.py2
-rw-r--r--tests/unit/browser/test_urlmarks.py2
-rw-r--r--tests/unit/browser/webengine/test_webengine_cookies.py6
-rw-r--r--tests/unit/browser/webengine/test_webenginedownloads.py2
-rw-r--r--tests/unit/browser/webengine/test_webengineinterceptor.py2
-rw-r--r--tests/unit/browser/webkit/http/test_http.py2
-rw-r--r--tests/unit/browser/webkit/network/test_filescheme.py4
-rw-r--r--tests/unit/browser/webkit/network/test_networkreply.py4
-rw-r--r--tests/unit/browser/webkit/network/test_pac.py4
-rw-r--r--tests/unit/browser/webkit/test_cache.py4
-rw-r--r--tests/unit/browser/webkit/test_certificateerror.py2
-rw-r--r--tests/unit/browser/webkit/test_cookies.py4
-rw-r--r--tests/unit/browser/webkit/test_tabhistory.py4
-rw-r--r--tests/unit/browser/webkit/test_webkitelem.py2
-rw-r--r--tests/unit/commands/test_argparser.py2
-rw-r--r--tests/unit/commands/test_userscripts.py2
-rw-r--r--tests/unit/completion/test_completer.py4
-rw-r--r--tests/unit/completion/test_completiondelegate.py6
-rw-r--r--tests/unit/completion/test_completionmodel.py2
-rw-r--r--tests/unit/completion/test_completionwidget.py2
-rw-r--r--tests/unit/completion/test_models.py4
-rw-r--r--tests/unit/components/test_blockutils.py2
-rw-r--r--tests/unit/components/test_braveadblock.py2
-rw-r--r--tests/unit/components/test_hostblock.py2
-rw-r--r--tests/unit/components/test_readlinecommands.py2
-rw-r--r--tests/unit/config/test_config.py4
-rw-r--r--tests/unit/config/test_configcommands.py2
-rw-r--r--tests/unit/config/test_configfiles.py4
-rw-r--r--tests/unit/config/test_configtypes.py6
-rw-r--r--tests/unit/config/test_configutils.py4
-rw-r--r--tests/unit/config/test_qtargs_locale_workaround.py2
-rw-r--r--tests/unit/config/test_stylesheet.py2
-rw-r--r--tests/unit/javascript/conftest.py2
-rw-r--r--tests/unit/javascript/test_greasemonkey.py2
-rw-r--r--tests/unit/javascript/test_js_execution.py6
-rw-r--r--tests/unit/javascript/test_js_quirks.py2
-rw-r--r--tests/unit/keyinput/key_data.py2
-rw-r--r--tests/unit/keyinput/test_basekeyparser.py2
-rw-r--r--tests/unit/keyinput/test_bindingtrie.py2
-rw-r--r--tests/unit/keyinput/test_keyutils.py6
-rw-r--r--tests/unit/keyinput/test_modeman.py2
-rw-r--r--tests/unit/keyinput/test_modeparsers.py4
-rw-r--r--tests/unit/mainwindow/statusbar/test_textbase.py2
-rw-r--r--tests/unit/mainwindow/statusbar/test_url.py2
-rw-r--r--tests/unit/mainwindow/test_messageview.py2
-rw-r--r--tests/unit/mainwindow/test_prompt.py2
-rw-r--r--tests/unit/mainwindow/test_tabwidget.py2
-rw-r--r--tests/unit/misc/test_autoupdate.py2
-rw-r--r--tests/unit/misc/test_editor.py2
-rw-r--r--tests/unit/misc/test_guiprocess.py2
-rw-r--r--tests/unit/misc/test_ipc.py6
-rw-r--r--tests/unit/misc/test_miscwidgets.py4
-rw-r--r--tests/unit/misc/test_msgbox.py4
-rw-r--r--tests/unit/misc/test_pastebin.py2
-rw-r--r--tests/unit/misc/test_sessions.py2
-rw-r--r--tests/unit/misc/test_sql.py2
-rw-r--r--tests/unit/misc/test_throttle.py2
-rw-r--r--tests/unit/misc/test_utilcmds.py2
-rw-r--r--tests/unit/test_app.py2
-rw-r--r--tests/unit/utils/test_debug.py4
-rw-r--r--tests/unit/utils/test_error.py4
-rw-r--r--tests/unit/utils/test_jinja.py2
-rw-r--r--tests/unit/utils/test_log.py2
-rw-r--r--tests/unit/utils/test_qtutils.py4
-rw-r--r--tests/unit/utils/test_standarddir.py4
-rw-r--r--tests/unit/utils/test_urlmatch.py2
-rw-r--r--tests/unit/utils/test_urlutils.py4
-rw-r--r--tests/unit/utils/test_utils.py4
-rw-r--r--tests/unit/utils/test_version.py4
-rw-r--r--tests/unit/utils/usertypes/test_timer.py2
234 files changed, 434 insertions, 432 deletions
diff --git a/misc/userscripts/add-nextcloud-bookmarks b/misc/userscripts/add-nextcloud-bookmarks
index 86f4f5bc7..f1f8c3cea 100755
--- a/misc/userscripts/add-nextcloud-bookmarks
+++ b/misc/userscripts/add-nextcloud-bookmarks
@@ -41,7 +41,7 @@ from json import dumps
from os import environ, path
from sys import argv, exit
-from PyQt5.QtWidgets import QApplication, QInputDialog, QLineEdit
+from qutebrowser.qt.QtWidgets import QApplication, QInputDialog, QLineEdit
from requests import get, post
from requests.auth import HTTPBasicAuth
diff --git a/misc/userscripts/add-nextcloud-cookbook b/misc/userscripts/add-nextcloud-cookbook
index 3952bb16f..13a8d3aa5 100755
--- a/misc/userscripts/add-nextcloud-cookbook
+++ b/misc/userscripts/add-nextcloud-cookbook
@@ -37,7 +37,7 @@ import configparser
from os import environ, path
from sys import argv, exit
-from PyQt5.QtWidgets import QApplication, QInputDialog, QLineEdit
+from qutebrowser.qt.QtWidgets import QApplication, QInputDialog, QLineEdit
from requests import post
from requests.auth import HTTPBasicAuth
diff --git a/misc/userscripts/qute-keepass b/misc/userscripts/qute-keepass
index 285377ffc..9895c6c56 100755
--- a/misc/userscripts/qute-keepass
+++ b/misc/userscripts/qute-keepass
@@ -64,8 +64,8 @@ import shlex
import subprocess
import sys
-from PyQt5.QtCore import QUrl
-from PyQt5.QtWidgets import QApplication, QInputDialog, QLineEdit
+from qutebrowser.qt.QtCore import QUrl
+from qutebrowser.qt.QtWidgets import QApplication, QInputDialog, QLineEdit
try:
import pykeepass
diff --git a/qutebrowser/api/config.py b/qutebrowser/api/config.py
index 19e2b3c3e..45dc77e29 100644
--- a/qutebrowser/api/config.py
+++ b/qutebrowser/api/config.py
@@ -21,7 +21,7 @@
from typing import cast, Any
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.config import config
diff --git a/qutebrowser/api/downloads.py b/qutebrowser/api/downloads.py
index cd33f5709..646cf50b1 100644
--- a/qutebrowser/api/downloads.py
+++ b/qutebrowser/api/downloads.py
@@ -23,7 +23,7 @@
import io
-from PyQt5.QtCore import QObject, pyqtSignal, pyqtSlot, QUrl
+from qutebrowser.qt.QtCore import QObject, pyqtSignal, pyqtSlot, QUrl
from qutebrowser.browser import downloads, qtnetworkdownloads
from qutebrowser.utils import objreg
diff --git a/qutebrowser/app.py b/qutebrowser/app.py
index 663c33ffc..b7ad16513 100644
--- a/qutebrowser/app.py
+++ b/qutebrowser/app.py
@@ -46,9 +46,9 @@ import datetime
import argparse
from typing import Iterable, Optional
-from PyQt5.QtWidgets import QApplication, QWidget
-from PyQt5.QtGui import QDesktopServices, QPixmap, QIcon
-from PyQt5.QtCore import pyqtSlot, QUrl, QObject, QEvent, pyqtSignal, Qt
+from qutebrowser.qt.QtWidgets import QApplication, QWidget
+from qutebrowser.qt.QtGui import QDesktopServices, QPixmap, QIcon
+from qutebrowser.qt.QtCore import pyqtSlot, QUrl, QObject, QEvent, pyqtSignal, Qt
import qutebrowser
import qutebrowser.resources
diff --git a/qutebrowser/browser/browsertab.py b/qutebrowser/browser/browsertab.py
index 661c5f68b..4d98c0b8e 100644
--- a/qutebrowser/browser/browsertab.py
+++ b/qutebrowser/browser/browsertab.py
@@ -26,17 +26,17 @@ import dataclasses
from typing import (cast, TYPE_CHECKING, Any, Callable, Iterable, List, Optional,
Sequence, Set, Type, Union)
-from PyQt5.QtCore import (pyqtSignal, pyqtSlot, QUrl, QObject, QSizeF, Qt,
+from qutebrowser.qt.QtCore import (pyqtSignal, pyqtSlot, QUrl, QObject, QSizeF, Qt,
QEvent, QPoint, QRect)
-from PyQt5.QtGui import QKeyEvent, QIcon, QPixmap
-from PyQt5.QtWidgets import QWidget, QApplication, QDialog
-from PyQt5.QtPrintSupport import QPrintDialog, QPrinter
-from PyQt5.QtNetwork import QNetworkAccessManager
+from qutebrowser.qt.QtGui import QKeyEvent, QIcon, QPixmap
+from qutebrowser.qt.QtWidgets import QWidget, QApplication, QDialog
+from qutebrowser.qt.QtPrintSupport import QPrintDialog, QPrinter
+from qutebrowser.qt.QtNetwork import QNetworkAccessManager
if TYPE_CHECKING:
- from PyQt5.QtWebKit import QWebHistory, QWebHistoryItem
- from PyQt5.QtWebKitWidgets import QWebPage
- from PyQt5.QtWebEngineWidgets import (
+ from qutebrowser.qt.QtWebKit import QWebHistory, QWebHistoryItem
+ from qutebrowser.qt.QtWebKitWidgets import QWebPage
+ from qutebrowser.qt.QtWebEngineWidgets import (
QWebEngineHistory, QWebEngineHistoryItem, QWebEnginePage)
from qutebrowser.keyinput import modeman
diff --git a/qutebrowser/browser/commands.py b/qutebrowser/browser/commands.py
index 00d5e521f..01e5f8340 100644
--- a/qutebrowser/browser/commands.py
+++ b/qutebrowser/browser/commands.py
@@ -24,8 +24,8 @@ import shlex
import functools
from typing import cast, Callable, Dict, Union
-from PyQt5.QtWidgets import QApplication, QTabBar
-from PyQt5.QtCore import Qt, QUrl, QEvent, QUrlQuery
+from qutebrowser.qt.QtWidgets import QApplication, QTabBar
+from qutebrowser.qt.QtCore import Qt, QUrl, QEvent, QUrlQuery
from qutebrowser.commands import userscripts, runners
from qutebrowser.api import cmdutils
diff --git a/qutebrowser/browser/downloads.py b/qutebrowser/browser/downloads.py
index 32bfd2693..53ac4775b 100644
--- a/qutebrowser/browser/downloads.py
+++ b/qutebrowser/browser/downloads.py
@@ -30,7 +30,7 @@ import tempfile
import enum
from typing import Any, Dict, IO, List, MutableSequence, Optional, Union
-from PyQt5.QtCore import (pyqtSlot, pyqtSignal, Qt, QObject, QModelIndex,
+from qutebrowser.qt.QtCore import (pyqtSlot, pyqtSignal, Qt, QObject, QModelIndex,
QTimer, QAbstractListModel, QUrl)
from qutebrowser.browser import pdfjs
diff --git a/qutebrowser/browser/downloadview.py b/qutebrowser/browser/downloadview.py
index 69c58741a..264f0f2a5 100644
--- a/qutebrowser/browser/downloadview.py
+++ b/qutebrowser/browser/downloadview.py
@@ -22,8 +22,8 @@
import functools
from typing import Callable, MutableSequence, Tuple, Union
-from PyQt5.QtCore import pyqtSlot, QSize, Qt
-from PyQt5.QtWidgets import QListView, QSizePolicy, QMenu, QStyleFactory
+from qutebrowser.qt.QtCore import pyqtSlot, QSize, Qt
+from qutebrowser.qt.QtWidgets import QListView, QSizePolicy, QMenu, QStyleFactory
from qutebrowser.browser import downloads
from qutebrowser.config import stylesheet
diff --git a/qutebrowser/browser/eventfilter.py b/qutebrowser/browser/eventfilter.py
index 0b5fab096..7c2e39f98 100644
--- a/qutebrowser/browser/eventfilter.py
+++ b/qutebrowser/browser/eventfilter.py
@@ -19,7 +19,7 @@
"""Event handling for a browser tab."""
-from PyQt5.QtCore import QObject, QEvent, Qt, QTimer
+from qutebrowser.qt.QtCore import QObject, QEvent, Qt, QTimer
from qutebrowser.config import config
from qutebrowser.utils import message, log, usertypes, qtutils
diff --git a/qutebrowser/browser/greasemonkey.py b/qutebrowser/browser/greasemonkey.py
index 5abb9a137..ececb595a 100644
--- a/qutebrowser/browser/greasemonkey.py
+++ b/qutebrowser/browser/greasemonkey.py
@@ -29,7 +29,7 @@ import textwrap
import dataclasses
from typing import cast, List, Sequence
-from PyQt5.QtCore import pyqtSignal, QObject, QUrl
+from qutebrowser.qt.QtCore import pyqtSignal, QObject, QUrl
from qutebrowser.utils import (log, standarddir, jinja, objreg, utils,
javascript, urlmatch, version, usertypes, message)
diff --git a/qutebrowser/browser/hints.py b/qutebrowser/browser/hints.py
index 2e4e8e4b4..a8d9f2777 100644
--- a/qutebrowser/browser/hints.py
+++ b/qutebrowser/browser/hints.py
@@ -30,8 +30,8 @@ from string import ascii_lowercase
from typing import (TYPE_CHECKING, Callable, Dict, Iterable, Iterator, List, Mapping,
MutableSequence, Optional, Sequence, Set)
-from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject, Qt, QUrl
-from PyQt5.QtWidgets import QLabel
+from qutebrowser.qt.QtCore import pyqtSignal, pyqtSlot, QObject, Qt, QUrl
+from qutebrowser.qt.QtWidgets import QLabel
from qutebrowser.config import config, configexc
from qutebrowser.keyinput import modeman, modeparsers, basekeyparser
diff --git a/qutebrowser/browser/history.py b/qutebrowser/browser/history.py
index d2046345f..4e5ce1147 100644
--- a/qutebrowser/browser/history.py
+++ b/qutebrowser/browser/history.py
@@ -25,8 +25,8 @@ import contextlib
import pathlib
from typing import cast, Mapping, MutableSequence, Optional
-from PyQt5.QtCore import pyqtSlot, QUrl, QObject, pyqtSignal
-from PyQt5.QtWidgets import QProgressDialog, QApplication
+from qutebrowser.qt.QtCore import pyqtSlot, QUrl, QObject, pyqtSignal
+from qutebrowser.qt.QtWidgets import QProgressDialog, QApplication
from qutebrowser.config import config
from qutebrowser.api import cmdutils
diff --git a/qutebrowser/browser/inspector.py b/qutebrowser/browser/inspector.py
index 2b40e97e4..3ef031384 100644
--- a/qutebrowser/browser/inspector.py
+++ b/qutebrowser/browser/inspector.py
@@ -24,9 +24,9 @@ import binascii
import enum
from typing import cast, Optional
-from PyQt5.QtWidgets import QWidget
-from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject, QEvent
-from PyQt5.QtGui import QCloseEvent
+from qutebrowser.qt.QtWidgets import QWidget
+from qutebrowser.qt.QtCore import pyqtSignal, pyqtSlot, QObject, QEvent
+from qutebrowser.qt.QtGui import QCloseEvent
from qutebrowser.browser import eventfilter
from qutebrowser.config import configfiles
diff --git a/qutebrowser/browser/navigate.py b/qutebrowser/browser/navigate.py
index 6217c8d00..0e19b6428 100644
--- a/qutebrowser/browser/navigate.py
+++ b/qutebrowser/browser/navigate.py
@@ -23,7 +23,7 @@ import re
import posixpath
from typing import Optional, Set
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.browser import webelem
from qutebrowser.config import config
diff --git a/qutebrowser/browser/network/pac.py b/qutebrowser/browser/network/pac.py
index 3a544c78f..e71a6b71e 100644
--- a/qutebrowser/browser/network/pac.py
+++ b/qutebrowser/browser/network/pac.py
@@ -23,11 +23,11 @@ import sys
import functools
from typing import Optional
-from PyQt5.QtCore import QObject, pyqtSignal, pyqtSlot, QUrl
-from PyQt5.QtNetwork import (QNetworkProxy, QNetworkRequest, QHostInfo,
+from qutebrowser.qt.QtCore import QObject, pyqtSignal, pyqtSlot, QUrl
+from qutebrowser.qt.QtNetwork import (QNetworkProxy, QNetworkRequest, QHostInfo,
QNetworkReply, QNetworkAccessManager,
QHostAddress)
-from PyQt5.QtQml import QJSEngine, QJSValue
+from qutebrowser.qt.QtQml import QJSEngine, QJSValue
from qutebrowser.utils import log, utils, qtutils, resources
diff --git a/qutebrowser/browser/network/proxy.py b/qutebrowser/browser/network/proxy.py
index 2c0187837..5a254117a 100644
--- a/qutebrowser/browser/network/proxy.py
+++ b/qutebrowser/browser/network/proxy.py
@@ -19,8 +19,8 @@
"""Handling of proxies."""
-from PyQt5.QtCore import QUrl, pyqtSlot
-from PyQt5.QtNetwork import QNetworkProxy, QNetworkProxyFactory
+from qutebrowser.qt.QtCore import QUrl, pyqtSlot
+from qutebrowser.qt.QtNetwork import QNetworkProxy, QNetworkProxyFactory
from qutebrowser.config import config, configtypes
from qutebrowser.utils import message, usertypes, urlutils, utils
diff --git a/qutebrowser/browser/pdfjs.py b/qutebrowser/browser/pdfjs.py
index c180c55f8..a40e2f431 100644
--- a/qutebrowser/browser/pdfjs.py
+++ b/qutebrowser/browser/pdfjs.py
@@ -22,7 +22,7 @@
import os
-from PyQt5.QtCore import QUrl, QUrlQuery
+from qutebrowser.qt.QtCore import QUrl, QUrlQuery
from qutebrowser.utils import resources, javascript, jinja, standarddir, log
from qutebrowser.config import config
diff --git a/qutebrowser/browser/qtnetworkdownloads.py b/qutebrowser/browser/qtnetworkdownloads.py
index 8adb7ea20..d3ae22d66 100644
--- a/qutebrowser/browser/qtnetworkdownloads.py
+++ b/qutebrowser/browser/qtnetworkdownloads.py
@@ -26,9 +26,9 @@ import functools
import dataclasses
from typing import Dict, IO, Optional
-from PyQt5.QtCore import pyqtSlot, pyqtSignal, QTimer, QUrl
-from PyQt5.QtWidgets import QApplication
-from PyQt5.QtNetwork import QNetworkRequest, QNetworkReply, QNetworkAccessManager
+from qutebrowser.qt.QtCore import pyqtSlot, pyqtSignal, QTimer, QUrl
+from qutebrowser.qt.QtWidgets import QApplication
+from qutebrowser.qt.QtNetwork import QNetworkRequest, QNetworkReply, QNetworkAccessManager
from qutebrowser.config import config, websettings
from qutebrowser.utils import message, usertypes, log, urlutils, utils, debug, objreg
diff --git a/qutebrowser/browser/qutescheme.py b/qutebrowser/browser/qutescheme.py
index 68e36d249..eb3c3c3aa 100644
--- a/qutebrowser/browser/qutescheme.py
+++ b/qutebrowser/browser/qutescheme.py
@@ -34,7 +34,7 @@ import collections
import secrets
from typing import TypeVar, Callable, Dict, List, Optional, Union, Sequence, Tuple
-from PyQt5.QtCore import QUrlQuery, QUrl
+from qutebrowser.qt.QtCore import QUrlQuery, QUrl
import qutebrowser
from qutebrowser.browser import pdfjs, downloads, history
diff --git a/qutebrowser/browser/shared.py b/qutebrowser/browser/shared.py
index f195bbf28..9ce032ee7 100644
--- a/qutebrowser/browser/shared.py
+++ b/qutebrowser/browser/shared.py
@@ -27,7 +27,7 @@ import netrc
import tempfile
from typing import Callable, Mapping, List, Optional, Iterable, Iterator
-from PyQt5.QtCore import QUrl, pyqtBoundSignal
+from qutebrowser.qt.QtCore import QUrl, pyqtBoundSignal
from qutebrowser.config import config
from qutebrowser.utils import (usertypes, message, log, objreg, jinja, utils,
diff --git a/qutebrowser/browser/signalfilter.py b/qutebrowser/browser/signalfilter.py
index 88ac4a65d..1b4cb985d 100644
--- a/qutebrowser/browser/signalfilter.py
+++ b/qutebrowser/browser/signalfilter.py
@@ -21,7 +21,7 @@
import functools
-from PyQt5.QtCore import QObject
+from qutebrowser.qt.QtCore import QObject
from qutebrowser.utils import debug, log, objreg
diff --git a/qutebrowser/browser/urlmarks.py b/qutebrowser/browser/urlmarks.py
index 944ec23d4..34ad0a21d 100644
--- a/qutebrowser/browser/urlmarks.py
+++ b/qutebrowser/browser/urlmarks.py
@@ -32,7 +32,7 @@ import functools
import collections
from typing import MutableMapping
-from PyQt5.QtCore import pyqtSignal, QUrl, QObject
+from qutebrowser.qt.QtCore import pyqtSignal, QUrl, QObject
from qutebrowser.utils import (message, usertypes, qtutils, urlutils,
standarddir, objreg, log)
diff --git a/qutebrowser/browser/webelem.py b/qutebrowser/browser/webelem.py
index 05b0eadb3..23ff6099c 100644
--- a/qutebrowser/browser/webelem.py
+++ b/qutebrowser/browser/webelem.py
@@ -22,8 +22,8 @@
from typing import cast, TYPE_CHECKING, Iterator, Optional, Set, Union
import collections.abc
-from PyQt5.QtCore import QUrl, Qt, QEvent, QTimer, QRect, QPoint
-from PyQt5.QtGui import QMouseEvent
+from qutebrowser.qt.QtCore import QUrl, Qt, QEvent, QTimer, QRect, QPoint
+from qutebrowser.qt.QtGui import QMouseEvent
from qutebrowser.config import config
from qutebrowser.keyinput import modeman
diff --git a/qutebrowser/browser/webengine/certificateerror.py b/qutebrowser/browser/webengine/certificateerror.py
index 4df7ce8ab..be6079e8a 100644
--- a/qutebrowser/browser/webengine/certificateerror.py
+++ b/qutebrowser/browser/webengine/certificateerror.py
@@ -19,8 +19,8 @@
"""Wrapper over a QWebEngineCertificateError."""
-from PyQt5.QtCore import QUrl
-from PyQt5.QtWebEngineWidgets import QWebEngineCertificateError
+from qutebrowser.qt.QtCore import QUrl
+from qutebrowser.qt.QtWebEngineWidgets import QWebEngineCertificateError
from qutebrowser.utils import usertypes, utils, debug
diff --git a/qutebrowser/browser/webengine/interceptor.py b/qutebrowser/browser/webengine/interceptor.py
index 0b1040c4d..d02f15df7 100644
--- a/qutebrowser/browser/webengine/interceptor.py
+++ b/qutebrowser/browser/webengine/interceptor.py
@@ -19,8 +19,8 @@
"""A request interceptor taking care of adblocking and custom headers."""
-from PyQt5.QtCore import QUrl, QByteArray
-from PyQt5.QtWebEngineCore import (QWebEngineUrlRequestInterceptor,
+from qutebrowser.qt.QtCore import QUrl, QByteArray
+from qutebrowser.qt.QtWebEngineCore import (QWebEngineUrlRequestInterceptor,
QWebEngineUrlRequestInfo)
from qutebrowser.config import websettings, config
diff --git a/qutebrowser/browser/webengine/notification.py b/qutebrowser/browser/webengine/notification.py
index 2b77a5ac4..d3e3b9788 100644
--- a/qutebrowser/browser/webengine/notification.py
+++ b/qutebrowser/browser/webengine/notification.py
@@ -50,18 +50,18 @@ import functools
import subprocess
from typing import Any, List, Dict, Optional, Iterator, TYPE_CHECKING
-from PyQt5.QtCore import (Qt, QObject, QVariant, QMetaType, QByteArray, pyqtSlot,
+from qutebrowser.qt.QtCore import (Qt, QObject, QVariant, QMetaType, QByteArray, pyqtSlot,
pyqtSignal, QTimer, QProcess, QUrl)
-from PyQt5.QtGui import QImage, QIcon, QPixmap
-from PyQt5.QtDBus import (QDBusConnection, QDBusInterface, QDBus, QDBusServiceWatcher,
+from qutebrowser.qt.QtGui import QImage, QIcon, QPixmap
+from qutebrowser.qt.QtDBus import (QDBusConnection, QDBusInterface, QDBus, QDBusServiceWatcher,
QDBusArgument, QDBusMessage, QDBusError)
-from PyQt5.QtWidgets import QSystemTrayIcon
+from qutebrowser.qt.QtWidgets import QSystemTrayIcon
if TYPE_CHECKING:
# putting these behind TYPE_CHECKING also means this module is importable
# on installs that don't have these
- from PyQt5.QtWebEngineCore import QWebEngineNotification
- from PyQt5.QtWebEngineWidgets import QWebEngineProfile
+ from qutebrowser.qt.QtWebEngineCore import QWebEngineNotification
+ from qutebrowser.qt.QtWebEngineWidgets import QWebEngineProfile
from qutebrowser.config import config
from qutebrowser.misc import objects
@@ -240,7 +240,7 @@ class NotificationBridgePresenter(QObject):
# Fixed in PyQtWebEngine 5.15.0
# PYQT_WEBENGINE_VERSION was added with PyQtWebEngine 5.13, but if we're here,
# we already did a version check above.
- from PyQt5.QtWebEngine import PYQT_WEBENGINE_VERSION
+ from qutebrowser.qt.QtWebEngine import PYQT_WEBENGINE_VERSION
if PYQT_WEBENGINE_VERSION < 0x050F00:
# PyQtWebEngine unrefs the callback after it's called, for some
# reason. So we call setNotificationPresenter again to *increase*
diff --git a/qutebrowser/browser/webengine/tabhistory.py b/qutebrowser/browser/webengine/tabhistory.py
index ab4b05fe9..80c0d80a5 100644
--- a/qutebrowser/browser/webengine/tabhistory.py
+++ b/qutebrowser/browser/webengine/tabhistory.py
@@ -19,7 +19,7 @@
"""QWebHistory serializer for QtWebEngine."""
-from PyQt5.QtCore import QByteArray, QDataStream, QIODevice, QUrl
+from qutebrowser.qt.QtCore import QByteArray, QDataStream, QIODevice, QUrl
from qutebrowser.utils import qtutils
diff --git a/qutebrowser/browser/webengine/webenginedownloads.py b/qutebrowser/browser/webengine/webenginedownloads.py
index a6a2a1b93..ef450ffde 100644
--- a/qutebrowser/browser/webengine/webenginedownloads.py
+++ b/qutebrowser/browser/webengine/webenginedownloads.py
@@ -23,8 +23,8 @@ import re
import os.path
import functools
-from PyQt5.QtCore import pyqtSlot, Qt, QUrl, QObject
-from PyQt5.QtWebEngineWidgets import QWebEngineDownloadItem
+from qutebrowser.qt.QtCore import pyqtSlot, Qt, QUrl, QObject
+from qutebrowser.qt.QtWebEngineWidgets import QWebEngineDownloadItem
from qutebrowser.browser import downloads, pdfjs
from qutebrowser.utils import (debug, usertypes, message, log, objreg, urlutils,
diff --git a/qutebrowser/browser/webengine/webengineelem.py b/qutebrowser/browser/webengine/webengineelem.py
index 5d4c6ad9a..542202c77 100644
--- a/qutebrowser/browser/webengine/webengineelem.py
+++ b/qutebrowser/browser/webengine/webengineelem.py
@@ -22,9 +22,9 @@
from typing import (
TYPE_CHECKING, Any, Callable, Dict, Iterator, Optional, Set, Tuple, Union)
-from PyQt5.QtCore import QRect, QEventLoop
-from PyQt5.QtWidgets import QApplication
-from PyQt5.QtWebEngineWidgets import QWebEngineSettings
+from qutebrowser.qt.QtCore import QRect, QEventLoop
+from qutebrowser.qt.QtWidgets import QApplication
+from qutebrowser.qt.QtWebEngineWidgets import QWebEngineSettings
from qutebrowser.utils import log, javascript, urlutils, usertypes, utils
from qutebrowser.browser import webelem
diff --git a/qutebrowser/browser/webengine/webengineinspector.py b/qutebrowser/browser/webengine/webengineinspector.py
index ae31c0bee..364228e09 100644
--- a/qutebrowser/browser/webengine/webengineinspector.py
+++ b/qutebrowser/browser/webengine/webengineinspector.py
@@ -21,9 +21,9 @@
import pathlib
-from PyQt5.QtCore import QLibraryInfo
-from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEnginePage
-from PyQt5.QtWidgets import QWidget
+from qutebrowser.qt.QtCore import QLibraryInfo
+from qutebrowser.qt.QtWebEngineWidgets import QWebEngineView, QWebEnginePage
+from qutebrowser.qt.QtWidgets import QWidget
from qutebrowser.browser import inspector
from qutebrowser.browser.webengine import webenginesettings
diff --git a/qutebrowser/browser/webengine/webenginequtescheme.py b/qutebrowser/browser/webengine/webenginequtescheme.py
index 64361f7c4..d79b30a86 100644
--- a/qutebrowser/browser/webengine/webenginequtescheme.py
+++ b/qutebrowser/browser/webengine/webenginequtescheme.py
@@ -19,8 +19,8 @@
"""QtWebEngine specific qute://* handlers and glue code."""
-from PyQt5.QtCore import QBuffer, QIODevice, QUrl
-from PyQt5.QtWebEngineCore import (QWebEngineUrlSchemeHandler,
+from qutebrowser.qt.QtCore import QBuffer, QIODevice, QUrl
+from qutebrowser.qt.QtWebEngineCore import (QWebEngineUrlSchemeHandler,
QWebEngineUrlRequestJob,
QWebEngineUrlScheme)
diff --git a/qutebrowser/browser/webengine/webenginesettings.py b/qutebrowser/browser/webengine/webenginesettings.py
index 5430cec77..862366a8e 100644
--- a/qutebrowser/browser/webengine/webenginesettings.py
+++ b/qutebrowser/browser/webengine/webenginesettings.py
@@ -28,9 +28,9 @@ import os
import operator
from typing import cast, Any, List, Optional, Tuple, Union, TYPE_CHECKING
-from PyQt5.QtGui import QFont
-from PyQt5.QtWidgets import QApplication
-from PyQt5.QtWebEngineWidgets import QWebEngineSettings, QWebEngineProfile
+from qutebrowser.qt.QtGui import QFont
+from qutebrowser.qt.QtWidgets import QApplication
+from qutebrowser.qt.QtWebEngineWidgets import QWebEngineSettings, QWebEngineProfile
from qutebrowser.browser import history
from qutebrowser.browser.webengine import (spell, webenginequtescheme, cookies,
diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py
index 7d355d10e..1f0e0012f 100644
--- a/qutebrowser/browser/webengine/webenginetab.py
+++ b/qutebrowser/browser/webengine/webenginetab.py
@@ -26,11 +26,11 @@ import re
import html as html_utils
from typing import cast, Union, Optional
-from PyQt5.QtCore import (pyqtSignal, pyqtSlot, Qt, QPoint, QPointF, QTimer, QUrl,
+from qutebrowser.qt.QtCore import (pyqtSignal, pyqtSlot, Qt, QPoint, QPointF, QTimer, QUrl,
QObject)
-from PyQt5.QtNetwork import QAuthenticator
-from PyQt5.QtWidgets import QWidget
-from PyQt5.QtWebEngineWidgets import QWebEnginePage, QWebEngineScript, QWebEngineHistory
+from qutebrowser.qt.QtNetwork import QAuthenticator
+from qutebrowser.qt.QtWidgets import QWidget
+from qutebrowser.qt.QtWebEngineWidgets import QWebEnginePage, QWebEngineScript, QWebEngineHistory
from qutebrowser.config import config
from qutebrowser.browser import browsertab, eventfilter, shared, webelem, greasemonkey
@@ -126,7 +126,7 @@ class _WebEngineSearchWrapHandler:
try:
# pylint: disable=unused-import
- from PyQt5.QtWebEngineCore import QWebEngineFindTextResult
+ from qutebrowser.qt.QtWebEngineCore import QWebEngineFindTextResult
except ImportError:
# WORKAROUND for some odd PyQt/packaging bug where the
# findTextResult signal is available, but QWebEngineFindTextResult
@@ -1700,7 +1700,7 @@ class WebEngineTab(browsertab.AbstractTab):
try:
# pylint: disable=unused-import
- from PyQt5.QtWebEngineWidgets import (
+ from qutebrowser.qt.QtWebEngineWidgets import (
QWebEngineClientCertificateSelection)
except ImportError:
pass
diff --git a/qutebrowser/browser/webengine/webview.py b/qutebrowser/browser/webengine/webview.py
index 76ce1a42e..5b8da897d 100644
--- a/qutebrowser/browser/webengine/webview.py
+++ b/qutebrowser/browser/webengine/webview.py
@@ -21,9 +21,9 @@
from typing import List, Iterable
-from PyQt5.QtCore import pyqtSignal, QUrl
-from PyQt5.QtGui import QPalette
-from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEnginePage
+from qutebrowser.qt.QtCore import pyqtSignal, QUrl
+from qutebrowser.qt.QtGui import QPalette
+from qutebrowser.qt.QtWebEngineWidgets import QWebEngineView, QWebEnginePage
from qutebrowser.browser import shared
from qutebrowser.browser.webengine import webenginesettings, certificateerror
diff --git a/qutebrowser/browser/webkit/cache.py b/qutebrowser/browser/webkit/cache.py
index 8494a8477..257fb77a0 100644
--- a/qutebrowser/browser/webkit/cache.py
+++ b/qutebrowser/browser/webkit/cache.py
@@ -22,7 +22,7 @@
from typing import cast
import os.path
-from PyQt5.QtNetwork import QNetworkDiskCache
+from qutebrowser.qt.QtNetwork import QNetworkDiskCache
from qutebrowser.config import config
from qutebrowser.utils import utils, standarddir
diff --git a/qutebrowser/browser/webkit/certificateerror.py b/qutebrowser/browser/webkit/certificateerror.py
index 09237dae9..e85589baa 100644
--- a/qutebrowser/browser/webkit/certificateerror.py
+++ b/qutebrowser/browser/webkit/certificateerror.py
@@ -21,7 +21,7 @@
from typing import Sequence
-from PyQt5.QtNetwork import QSslError
+from qutebrowser.qt.QtNetwork import QSslError
from qutebrowser.utils import usertypes, utils, debug, jinja
diff --git a/qutebrowser/browser/webkit/cookies.py b/qutebrowser/browser/webkit/cookies.py
index 055ef64d8..3d2e49fe3 100644
--- a/qutebrowser/browser/webkit/cookies.py
+++ b/qutebrowser/browser/webkit/cookies.py
@@ -21,8 +21,8 @@
from typing import Sequence
-from PyQt5.QtNetwork import QNetworkCookie, QNetworkCookieJar
-from PyQt5.QtCore import pyqtSignal, QDateTime
+from qutebrowser.qt.QtNetwork import QNetworkCookie, QNetworkCookieJar
+from qutebrowser.qt.QtCore import pyqtSignal, QDateTime
from qutebrowser.config import config
from qutebrowser.utils import utils, standarddir, objreg, log
diff --git a/qutebrowser/browser/webkit/http.py b/qutebrowser/browser/webkit/http.py
index 5a7cd8b34..8437ccd24 100644
--- a/qutebrowser/browser/webkit/http.py
+++ b/qutebrowser/browser/webkit/http.py
@@ -25,7 +25,7 @@ import dataclasses
import os.path
from typing import Type
-from PyQt5.QtNetwork import QNetworkRequest
+from qutebrowser.qt.QtNetwork import QNetworkRequest
from qutebrowser.utils import log, utils
diff --git a/qutebrowser/browser/webkit/mhtml.py b/qutebrowser/browser/webkit/mhtml.py
index d9f2d484e..8dfc136e8 100644
--- a/qutebrowser/browser/webkit/mhtml.py
+++ b/qutebrowser/browser/webkit/mhtml.py
@@ -36,7 +36,7 @@ import quopri
import dataclasses
from typing import MutableMapping, Set, Tuple, Callable
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.browser import downloads
from qutebrowser.browser.webkit import webkitelem
diff --git a/qutebrowser/browser/webkit/network/networkmanager.py b/qutebrowser/browser/webkit/network/networkmanager.py
index 17f4736b8..a3b1f08c8 100644
--- a/qutebrowser/browser/webkit/network/networkmanager.py
+++ b/qutebrowser/browser/webkit/network/networkmanager.py
@@ -24,8 +24,8 @@ import html
import dataclasses
from typing import TYPE_CHECKING, Dict, MutableMapping, Optional, Set
-from PyQt5.QtCore import pyqtSlot, pyqtSignal, QUrl, QByteArray
-from PyQt5.QtNetwork import (QNetworkAccessManager, QNetworkReply, QSslSocket,
+from qutebrowser.qt.QtCore import pyqtSlot, pyqtSignal, QUrl, QByteArray
+from qutebrowser.qt.QtNetwork import (QNetworkAccessManager, QNetworkReply, QSslSocket,
QNetworkProxy)
from qutebrowser.config import config
diff --git a/qutebrowser/browser/webkit/network/networkreply.py b/qutebrowser/browser/webkit/network/networkreply.py
index c1ead3209..4eff3cdba 100644
--- a/qutebrowser/browser/webkit/network/networkreply.py
+++ b/qutebrowser/browser/webkit/network/networkreply.py
@@ -26,8 +26,8 @@
"""Special network replies.."""
-from PyQt5.QtNetwork import QNetworkReply, QNetworkRequest
-from PyQt5.QtCore import pyqtSlot, QIODevice, QByteArray, QTimer
+from qutebrowser.qt.QtNetwork import QNetworkReply, QNetworkRequest
+from qutebrowser.qt.QtCore import pyqtSlot, QIODevice, QByteArray, QTimer
class FixedDataNetworkReply(QNetworkReply):
diff --git a/qutebrowser/browser/webkit/network/webkitqutescheme.py b/qutebrowser/browser/webkit/network/webkitqutescheme.py
index bccdd1acd..9e73f2ed5 100644
--- a/qutebrowser/browser/webkit/network/webkitqutescheme.py
+++ b/qutebrowser/browser/webkit/network/webkitqutescheme.py
@@ -19,8 +19,8 @@
"""QtWebKit specific qute://* handlers and glue code."""
-from PyQt5.QtCore import QUrl
-from PyQt5.QtNetwork import QNetworkReply, QNetworkAccessManager
+from qutebrowser.qt.QtCore import QUrl
+from qutebrowser.qt.QtNetwork import QNetworkReply, QNetworkAccessManager
from qutebrowser.browser import qutescheme
from qutebrowser.browser.webkit.network import networkreply
diff --git a/qutebrowser/browser/webkit/tabhistory.py b/qutebrowser/browser/webkit/tabhistory.py
index a707030d1..041a59d5b 100644
--- a/qutebrowser/browser/webkit/tabhistory.py
+++ b/qutebrowser/browser/webkit/tabhistory.py
@@ -21,7 +21,7 @@
from typing import Any, List, Mapping
-from PyQt5.QtCore import QByteArray, QDataStream, QIODevice, QUrl
+from qutebrowser.qt.QtCore import QByteArray, QDataStream, QIODevice, QUrl
from qutebrowser.utils import qtutils
diff --git a/qutebrowser/browser/webkit/webkitelem.py b/qutebrowser/browser/webkit/webkitelem.py
index 5bf96a610..b485e2383 100644
--- a/qutebrowser/browser/webkit/webkitelem.py
+++ b/qutebrowser/browser/webkit/webkitelem.py
@@ -21,9 +21,9 @@
from typing import cast, TYPE_CHECKING, Iterator, List, Optional, Set
-from PyQt5.QtCore import QRect, Qt
-from PyQt5.QtWebKit import QWebElement, QWebSettings
-from PyQt5.QtWebKitWidgets import QWebFrame
+from qutebrowser.qt.QtCore import QRect, Qt
+from qutebrowser.qt.QtWebKit import QWebElement, QWebSettings
+from qutebrowser.qt.QtWebKitWidgets import QWebFrame
from qutebrowser.config import config
from qutebrowser.utils import log, utils, javascript, usertypes
diff --git a/qutebrowser/browser/webkit/webkithistory.py b/qutebrowser/browser/webkit/webkithistory.py
index 6ffe65193..6f699afe9 100644
--- a/qutebrowser/browser/webkit/webkithistory.py
+++ b/qutebrowser/browser/webkit/webkithistory.py
@@ -21,7 +21,7 @@
import functools
-from PyQt5.QtWebKit import QWebHistoryInterface
+from qutebrowser.qt.QtWebKit import QWebHistoryInterface
from qutebrowser.utils import debug
from qutebrowser.misc import debugcachestats
diff --git a/qutebrowser/browser/webkit/webkitinspector.py b/qutebrowser/browser/webkit/webkitinspector.py
index 57bcd40ea..fc7d53d66 100644
--- a/qutebrowser/browser/webkit/webkitinspector.py
+++ b/qutebrowser/browser/webkit/webkitinspector.py
@@ -19,9 +19,9 @@
"""Customized QWebInspector for QtWebKit."""
-from PyQt5.QtWebKit import QWebSettings
-from PyQt5.QtWebKitWidgets import QWebInspector, QWebPage
-from PyQt5.QtWidgets import QWidget
+from qutebrowser.qt.QtWebKit import QWebSettings
+from qutebrowser.qt.QtWebKitWidgets import QWebInspector, QWebPage
+from qutebrowser.qt.QtWidgets import QWidget
from qutebrowser.browser import inspector
from qutebrowser.misc import miscwidgets
diff --git a/qutebrowser/browser/webkit/webkitsettings.py b/qutebrowser/browser/webkit/webkitsettings.py
index cac6236ce..d77461444 100644
--- a/qutebrowser/browser/webkit/webkitsettings.py
+++ b/qutebrowser/browser/webkit/webkitsettings.py
@@ -27,10 +27,10 @@ Module attributes:
from typing import cast
import os.path
-from PyQt5.QtCore import QUrl
-from PyQt5.QtGui import QFont
-from PyQt5.QtWebKit import QWebSettings
-from PyQt5.QtWebKitWidgets import QWebPage
+from qutebrowser.qt.QtCore import QUrl
+from qutebrowser.qt.QtGui import QFont
+from qutebrowser.qt.QtWebKit import QWebSettings
+from qutebrowser.qt.QtWebKitWidgets import QWebPage
from qutebrowser.config import config, websettings
from qutebrowser.config.websettings import AttributeInfo as Attr
diff --git a/qutebrowser/browser/webkit/webkittab.py b/qutebrowser/browser/webkit/webkittab.py
index 7a41b995c..3478eff20 100644
--- a/qutebrowser/browser/webkit/webkittab.py
+++ b/qutebrowser/browser/webkit/webkittab.py
@@ -24,12 +24,12 @@ import functools
import xml.etree.ElementTree
from typing import cast, Iterable, Optional
-from PyQt5.QtCore import pyqtSlot, Qt, QUrl, QPoint, QTimer, QSizeF, QSize
-from PyQt5.QtGui import QIcon
-from PyQt5.QtWidgets import QWidget
-from PyQt5.QtWebKitWidgets import QWebPage, QWebFrame
-from PyQt5.QtWebKit import QWebSettings, QWebHistory, QWebElement
-from PyQt5.QtPrintSupport import QPrinter
+from qutebrowser.qt.QtCore import pyqtSlot, Qt, QUrl, QPoint, QTimer, QSizeF, QSize
+from qutebrowser.qt.QtGui import QIcon
+from qutebrowser.qt.QtWidgets import QWidget
+from qutebrowser.qt.QtWebKitWidgets import QWebPage, QWebFrame
+from qutebrowser.qt.QtWebKit import QWebSettings, QWebHistory, QWebElement
+from qutebrowser.qt.QtPrintSupport import QPrinter
from qutebrowser.browser import browsertab, shared
from qutebrowser.browser.webkit import (webview, tabhistory, webkitelem,
diff --git a/qutebrowser/browser/webkit/webpage.py b/qutebrowser/browser/webkit/webpage.py
index ddbd78de2..8c9a43548 100644
--- a/qutebrowser/browser/webkit/webpage.py
+++ b/qutebrowser/browser/webkit/webpage.py
@@ -23,12 +23,12 @@ import html
import functools
from typing import cast
-from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QUrl, QPoint
-from PyQt5.QtGui import QDesktopServices
-from PyQt5.QtNetwork import QNetworkReply, QNetworkRequest
-from PyQt5.QtWidgets import QFileDialog
-from PyQt5.QtPrintSupport import QPrintDialog
-from PyQt5.QtWebKitWidgets import QWebPage, QWebFrame
+from qutebrowser.qt.QtCore import pyqtSlot, pyqtSignal, Qt, QUrl, QPoint
+from qutebrowser.qt.QtGui import QDesktopServices
+from qutebrowser.qt.QtNetwork import QNetworkReply, QNetworkRequest
+from qutebrowser.qt.QtWidgets import QFileDialog
+from qutebrowser.qt.QtPrintSupport import QPrintDialog
+from qutebrowser.qt.QtWebKitWidgets import QWebPage, QWebFrame
from qutebrowser.config import websettings, config
from qutebrowser.browser import pdfjs, shared, downloads, greasemonkey
diff --git a/qutebrowser/browser/webkit/webview.py b/qutebrowser/browser/webkit/webview.py
index 289e29920..cb37c4ccd 100644
--- a/qutebrowser/browser/webkit/webview.py
+++ b/qutebrowser/browser/webkit/webview.py
@@ -19,9 +19,9 @@
"""The main browser widgets."""
-from PyQt5.QtCore import pyqtSignal, Qt, QUrl
-from PyQt5.QtWebKit import QWebSettings
-from PyQt5.QtWebKitWidgets import QWebView, QWebPage
+from qutebrowser.qt.QtCore import pyqtSignal, Qt, QUrl
+from qutebrowser.qt.QtWebKit import QWebSettings
+from qutebrowser.qt.QtWebKitWidgets import QWebView, QWebPage
from qutebrowser.config import config, stylesheet
from qutebrowser.keyinput import modeman
diff --git a/qutebrowser/commands/argparser.py b/qutebrowser/commands/argparser.py
index 2a11589f9..426b203ba 100644
--- a/qutebrowser/commands/argparser.py
+++ b/qutebrowser/commands/argparser.py
@@ -21,7 +21,7 @@
import argparse
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.commands import cmdexc
from qutebrowser.utils import utils, objreg, log
diff --git a/qutebrowser/commands/runners.py b/qutebrowser/commands/runners.py
index 5fb054455..edf092334 100644
--- a/qutebrowser/commands/runners.py
+++ b/qutebrowser/commands/runners.py
@@ -24,7 +24,7 @@ import re
import contextlib
from typing import TYPE_CHECKING, Callable, Dict, Iterator, Mapping, MutableMapping
-from PyQt5.QtCore import pyqtSlot, QUrl, QObject
+from qutebrowser.qt.QtCore import pyqtSlot, QUrl, QObject
from qutebrowser.api import cmdutils
from qutebrowser.commands import cmdexc, parser
diff --git a/qutebrowser/commands/userscripts.py b/qutebrowser/commands/userscripts.py
index 8282aa7c7..268687fad 100644
--- a/qutebrowser/commands/userscripts.py
+++ b/qutebrowser/commands/userscripts.py
@@ -24,7 +24,7 @@ import os.path
import tempfile
from typing import cast, Any, MutableMapping, Tuple
-from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject, QSocketNotifier
+from qutebrowser.qt.QtCore import pyqtSignal, pyqtSlot, QObject, QSocketNotifier
import qutebrowser
from qutebrowser.utils import message, log, objreg, standarddir, utils
diff --git a/qutebrowser/completion/completer.py b/qutebrowser/completion/completer.py
index 8b0de9d8a..c17f1f9b8 100644
--- a/qutebrowser/completion/completer.py
+++ b/qutebrowser/completion/completer.py
@@ -22,7 +22,7 @@
import dataclasses
from typing import TYPE_CHECKING
-from PyQt5.QtCore import pyqtSlot, QObject, QTimer
+from qutebrowser.qt.QtCore import pyqtSlot, QObject, QTimer
from qutebrowser.config import config
from qutebrowser.commands import parser, cmdexc
diff --git a/qutebrowser/completion/completiondelegate.py b/qutebrowser/completion/completiondelegate.py
index 9ea82e876..02ef5d8af 100644
--- a/qutebrowser/completion/completiondelegate.py
+++ b/qutebrowser/completion/completiondelegate.py
@@ -25,9 +25,9 @@ We use this to be able to highlight parts of the text.
import re
import html
-from PyQt5.QtWidgets import QStyle, QStyleOptionViewItem, QStyledItemDelegate
-from PyQt5.QtCore import QRectF, QRegularExpression, QSize, Qt
-from PyQt5.QtGui import (QIcon, QPalette, QTextDocument, QTextOption,
+from qutebrowser.qt.QtWidgets import QStyle, QStyleOptionViewItem, QStyledItemDelegate
+from qutebrowser.qt.QtCore import QRectF, QRegularExpression, QSize, Qt
+from qutebrowser.qt.QtGui import (QIcon, QPalette, QTextDocument, QTextOption,
QAbstractTextDocumentLayout, QSyntaxHighlighter,
QTextCharFormat)
diff --git a/qutebrowser/completion/completionwidget.py b/qutebrowser/completion/completionwidget.py
index dd8e267fe..c5afb47d5 100644
--- a/qutebrowser/completion/completionwidget.py
+++ b/qutebrowser/completion/completionwidget.py
@@ -25,8 +25,8 @@ subclasses to provide completions.
from typing import TYPE_CHECKING, Optional
-from PyQt5.QtWidgets import QTreeView, QSizePolicy, QStyleFactory, QWidget
-from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QItemSelectionModel, QSize
+from qutebrowser.qt.QtWidgets import QTreeView, QSizePolicy, QStyleFactory, QWidget
+from qutebrowser.qt.QtCore import pyqtSlot, pyqtSignal, Qt, QItemSelectionModel, QSize
from qutebrowser.config import config, stylesheet
from qutebrowser.completion import completiondelegate
diff --git a/qutebrowser/completion/models/completionmodel.py b/qutebrowser/completion/models/completionmodel.py
index 236b25533..97fb2fff1 100644
--- a/qutebrowser/completion/models/completionmodel.py
+++ b/qutebrowser/completion/models/completionmodel.py
@@ -21,7 +21,7 @@
from typing import MutableSequence
-from PyQt5.QtCore import Qt, QModelIndex, QAbstractItemModel
+from qutebrowser.qt.QtCore import Qt, QModelIndex, QAbstractItemModel
from qutebrowser.utils import log, qtutils, utils
from qutebrowser.api import cmdutils
diff --git a/qutebrowser/completion/models/filepathcategory.py b/qutebrowser/completion/models/filepathcategory.py
index fd2cb58ce..beb8757ed 100644
--- a/qutebrowser/completion/models/filepathcategory.py
+++ b/qutebrowser/completion/models/filepathcategory.py
@@ -31,7 +31,7 @@ import os
import os.path
from typing import List, Optional, Iterable
-from PyQt5.QtCore import QAbstractListModel, QModelIndex, QObject, Qt, QUrl
+from qutebrowser.qt.QtCore import QAbstractListModel, QModelIndex, QObject, Qt, QUrl
from qutebrowser.config import config
from qutebrowser.utils import log
diff --git a/qutebrowser/completion/models/histcategory.py b/qutebrowser/completion/models/histcategory.py
index 8dd1be838..b7423d69d 100644
--- a/qutebrowser/completion/models/histcategory.py
+++ b/qutebrowser/completion/models/histcategory.py
@@ -21,8 +21,8 @@
from typing import Optional
-from PyQt5.QtSql import QSqlQueryModel
-from PyQt5.QtWidgets import QWidget
+from qutebrowser.qt.QtSql import QSqlQueryModel
+from qutebrowser.qt.QtWidgets import QWidget
from qutebrowser.misc import sql
from qutebrowser.utils import debug, message, log
diff --git a/qutebrowser/completion/models/listcategory.py b/qutebrowser/completion/models/listcategory.py
index 352151ebb..c312be8e6 100644
--- a/qutebrowser/completion/models/listcategory.py
+++ b/qutebrowser/completion/models/listcategory.py
@@ -22,9 +22,9 @@
import re
from typing import Iterable, Tuple
-from PyQt5.QtCore import QSortFilterProxyModel, QRegularExpression
-from PyQt5.QtGui import QStandardItem, QStandardItemModel
-from PyQt5.QtWidgets import QWidget
+from qutebrowser.qt.QtCore import QSortFilterProxyModel, QRegularExpression
+from qutebrowser.qt.QtGui import QStandardItem, QStandardItemModel
+from qutebrowser.qt.QtWidgets import QWidget
from qutebrowser.completion.models import util
from qutebrowser.utils import qtutils, log
diff --git a/qutebrowser/completion/models/urlmodel.py b/qutebrowser/completion/models/urlmodel.py
index 56af1f7c7..73f6450c6 100644
--- a/qutebrowser/completion/models/urlmodel.py
+++ b/qutebrowser/completion/models/urlmodel.py
@@ -21,7 +21,7 @@
from typing import Dict, Sequence
-from PyQt5.QtCore import QAbstractItemModel
+from qutebrowser.qt.QtCore import QAbstractItemModel
from qutebrowser.completion.models import (completionmodel, filepathcategory,
listcategory, histcategory)
diff --git a/qutebrowser/components/braveadblock.py b/qutebrowser/components/braveadblock.py
index 977aa3ef2..65e8f470d 100644
--- a/qutebrowser/components/braveadblock.py
+++ b/qutebrowser/components/braveadblock.py
@@ -27,7 +27,7 @@ import contextlib
import subprocess
from typing import Optional, IO, Iterator
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.api import (
hook,
diff --git a/qutebrowser/components/hostblock.py b/qutebrowser/components/hostblock.py
index 191719f10..db35d3761 100644
--- a/qutebrowser/components/hostblock.py
+++ b/qutebrowser/components/hostblock.py
@@ -26,7 +26,7 @@ import logging
import pathlib
from typing import cast, IO, Set
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.api import (
hook,
diff --git a/qutebrowser/components/misccommands.py b/qutebrowser/components/misccommands.py
index fe908b7d2..655e88670 100644
--- a/qutebrowser/components/misccommands.py
+++ b/qutebrowser/components/misccommands.py
@@ -34,8 +34,8 @@ try:
except ImportError:
hunter = None
-from PyQt5.QtCore import Qt
-from PyQt5.QtPrintSupport import QPrintPreviewDialog
+from qutebrowser.qt.QtCore import Qt
+from qutebrowser.qt.QtPrintSupport import QPrintPreviewDialog
from qutebrowser.api import cmdutils, apitypes, message, config
diff --git a/qutebrowser/components/readlinecommands.py b/qutebrowser/components/readlinecommands.py
index 4ac03041c..6f24fc556 100644
--- a/qutebrowser/components/readlinecommands.py
+++ b/qutebrowser/components/readlinecommands.py
@@ -22,7 +22,7 @@
import os
from typing import Iterable, Optional, MutableMapping, Any, Callable
-from PyQt5.QtWidgets import QApplication, QLineEdit
+from qutebrowser.qt.QtWidgets import QApplication, QLineEdit
from qutebrowser.api import cmdutils
diff --git a/qutebrowser/components/utils/blockutils.py b/qutebrowser/components/utils/blockutils.py
index 98681a488..75acd84b8 100644
--- a/qutebrowser/components/utils/blockutils.py
+++ b/qutebrowser/components/utils/blockutils.py
@@ -24,7 +24,7 @@ import os
import functools
from typing import IO, List, Optional
-from PyQt5.QtCore import QUrl, QObject, pyqtSignal
+from qutebrowser.qt.QtCore import QUrl, QObject, pyqtSignal
from qutebrowser.api import downloads, message, config
diff --git a/qutebrowser/config/config.py b/qutebrowser/config/config.py
index 834709ae6..83c161b01 100644
--- a/qutebrowser/config/config.py
+++ b/qutebrowser/config/config.py
@@ -25,7 +25,7 @@ import functools
from typing import (TYPE_CHECKING, Any, Callable, Dict, Iterator, List, Mapping,
MutableMapping, MutableSequence, Optional, Tuple, cast)
-from PyQt5.QtCore import pyqtSignal, QObject, QUrl
+from qutebrowser.qt.QtCore import pyqtSignal, QObject, QUrl
from qutebrowser.commands import cmdexc, parser
from qutebrowser.config import configdata, configexc, configutils
diff --git a/qutebrowser/config/configcommands.py b/qutebrowser/config/configcommands.py
index 407c74214..1e1f4e726 100644
--- a/qutebrowser/config/configcommands.py
+++ b/qutebrowser/config/configcommands.py
@@ -23,7 +23,7 @@ import os.path
import contextlib
from typing import TYPE_CHECKING, Iterator, List, Optional, Any, Tuple
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.api import cmdutils
from qutebrowser.completion.models import configmodel
diff --git a/qutebrowser/config/configfiles.py b/qutebrowser/config/configfiles.py
index d97771fad..4998fa3f8 100644
--- a/qutebrowser/config/configfiles.py
+++ b/qutebrowser/config/configfiles.py
@@ -33,7 +33,7 @@ from typing import (TYPE_CHECKING, Any, Dict, Iterable, Iterator, List, Mapping,
MutableMapping, Optional, Tuple, cast)
import yaml
-from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject, QSettings, qVersion
+from qutebrowser.qt.QtCore import pyqtSignal, pyqtSlot, QObject, QSettings, qVersion
import qutebrowser
from qutebrowser.config import (configexc, config, configdata, configutils,
@@ -118,7 +118,7 @@ class StateConfig(configparser.ConfigParser):
Note that it's too early to use objects.backend here...
"""
try:
- import PyQt5.QtWebEngineWidgets # pylint: disable=unused-import
+ import qutebrowser.qt.QtWebEngineWidgets # pylint: disable=unused-import
except ImportError:
return 'no'
return str(version.qtwebengine_versions(avoid_init=True).webengine)
diff --git a/qutebrowser/config/configinit.py b/qutebrowser/config/configinit.py
index 15e587ea2..902d36344 100644
--- a/qutebrowser/config/configinit.py
+++ b/qutebrowser/config/configinit.py
@@ -23,7 +23,7 @@ import argparse
import os.path
import sys
-from PyQt5.QtWidgets import QMessageBox
+from qutebrowser.qt.QtWidgets import QMessageBox
from qutebrowser.api import config as configapi
from qutebrowser.config import (config, configdata, configfiles, configtypes,
diff --git a/qutebrowser/config/configtypes.py b/qutebrowser/config/configtypes.py
index d3d5e3fb8..86751f044 100644
--- a/qutebrowser/config/configtypes.py
+++ b/qutebrowser/config/configtypes.py
@@ -55,10 +55,10 @@ from typing import (Any, Callable, Dict as DictType, Iterable, Iterator,
List as ListType, Optional, Pattern, Sequence, Tuple, Union)
import yaml
-from PyQt5.QtCore import QUrl, Qt
-from PyQt5.QtGui import QColor
-from PyQt5.QtWidgets import QTabWidget, QTabBar
-from PyQt5.QtNetwork import QNetworkProxy
+from qutebrowser.qt.QtCore import QUrl, Qt
+from qutebrowser.qt.QtGui import QColor
+from qutebrowser.qt.QtWidgets import QTabWidget, QTabBar
+from qutebrowser.qt.QtNetwork import QNetworkProxy
from qutebrowser.misc import objects, debugcachestats
from qutebrowser.config import configexc, configutils
diff --git a/qutebrowser/config/configutils.py b/qutebrowser/config/configutils.py
index 480bbd85f..4e7f63114 100644
--- a/qutebrowser/config/configutils.py
+++ b/qutebrowser/config/configutils.py
@@ -28,9 +28,9 @@ from typing import (
TYPE_CHECKING, Any, Dict, Iterator, List, Optional, Sequence, Set, Union,
MutableMapping)
-from PyQt5.QtCore import QUrl
-from PyQt5.QtGui import QFontDatabase
-from PyQt5.QtWidgets import QApplication
+from qutebrowser.qt.QtCore import QUrl
+from qutebrowser.qt.QtGui import QFontDatabase
+from qutebrowser.qt.QtWidgets import QApplication
from qutebrowser.utils import utils, urlmatch, urlutils, usertypes, qtutils
from qutebrowser.config import configexc
diff --git a/qutebrowser/config/qtargs.py b/qutebrowser/config/qtargs.py
index 9e7f2620d..1152c4bc0 100644
--- a/qutebrowser/config/qtargs.py
+++ b/qutebrowser/config/qtargs.py
@@ -25,7 +25,7 @@ import argparse
import pathlib
from typing import Any, Dict, Iterator, List, Optional, Sequence, Tuple
-from PyQt5.QtCore import QLibraryInfo, QLocale
+from qutebrowser.qt.QtCore import QLibraryInfo, QLocale
from qutebrowser.config import config
from qutebrowser.misc import objects
diff --git a/qutebrowser/config/stylesheet.py b/qutebrowser/config/stylesheet.py
index 2927aec08..408e02989 100644
--- a/qutebrowser/config/stylesheet.py
+++ b/qutebrowser/config/stylesheet.py
@@ -22,7 +22,7 @@
import functools
from typing import Optional, FrozenSet
-from PyQt5.QtCore import pyqtSlot, QObject
+from qutebrowser.qt.QtCore import pyqtSlot, QObject
from qutebrowser.config import config
from qutebrowser.misc import debugcachestats
diff --git a/qutebrowser/config/websettings.py b/qutebrowser/config/websettings.py
index 41aeec6a3..e5f0f2d6f 100644
--- a/qutebrowser/config/websettings.py
+++ b/qutebrowser/config/websettings.py
@@ -25,8 +25,8 @@ import functools
import dataclasses
from typing import Any, Callable, Dict, Optional, Union
-from PyQt5.QtCore import QUrl, pyqtSlot, qVersion
-from PyQt5.QtGui import QFont
+from qutebrowser.qt.QtCore import QUrl, pyqtSlot, qVersion
+from qutebrowser.qt.QtGui import QFont
import qutebrowser
from qutebrowser.config import config
diff --git a/qutebrowser/extensions/interceptors.py b/qutebrowser/extensions/interceptors.py
index dfafeb7e3..0fd6883fc 100644
--- a/qutebrowser/extensions/interceptors.py
+++ b/qutebrowser/extensions/interceptors.py
@@ -23,7 +23,7 @@ import enum
import dataclasses
from typing import Callable, List, Optional
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
class ResourceType(enum.Enum):
diff --git a/qutebrowser/extensions/loader.py b/qutebrowser/extensions/loader.py
index 793f131c8..10e32fd15 100644
--- a/qutebrowser/extensions/loader.py
+++ b/qutebrowser/extensions/loader.py
@@ -27,7 +27,7 @@ import argparse
import dataclasses
from typing import Callable, Iterator, List, Optional, Tuple
-from PyQt5.QtCore import pyqtSlot
+from qutebrowser.qt.QtCore import pyqtSlot
from qutebrowser import components
from qutebrowser.config import config
diff --git a/qutebrowser/keyinput/basekeyparser.py b/qutebrowser/keyinput/basekeyparser.py
index 4db1d5d76..ac76f63e3 100644
--- a/qutebrowser/keyinput/basekeyparser.py
+++ b/qutebrowser/keyinput/basekeyparser.py
@@ -24,8 +24,8 @@ import types
import dataclasses
from typing import Mapping, MutableMapping, Optional, Sequence
-from PyQt5.QtCore import pyqtSignal, QObject, Qt
-from PyQt5.QtGui import QKeySequence, QKeyEvent
+from qutebrowser.qt.QtCore import pyqtSignal, QObject, Qt
+from qutebrowser.qt.QtGui import QKeySequence, QKeyEvent
from qutebrowser.config import config
from qutebrowser.utils import usertypes, log, utils
diff --git a/qutebrowser/keyinput/eventfilter.py b/qutebrowser/keyinput/eventfilter.py
index f0d85b0ec..e64401c3c 100644
--- a/qutebrowser/keyinput/eventfilter.py
+++ b/qutebrowser/keyinput/eventfilter.py
@@ -21,8 +21,8 @@
from typing import cast
-from PyQt5.QtCore import pyqtSlot, QObject, QEvent
-from PyQt5.QtGui import QKeyEvent, QWindow
+from qutebrowser.qt.QtCore import pyqtSlot, QObject, QEvent
+from qutebrowser.qt.QtGui import QKeyEvent, QWindow
from qutebrowser.keyinput import modeman
from qutebrowser.misc import quitter, objects
diff --git a/qutebrowser/keyinput/keyutils.py b/qutebrowser/keyinput/keyutils.py
index f74c59aa7..b5c172ce4 100644
--- a/qutebrowser/keyinput/keyutils.py
+++ b/qutebrowser/keyinput/keyutils.py
@@ -35,8 +35,8 @@ import itertools
import dataclasses
from typing import cast, overload, Iterable, Iterator, List, Mapping, Optional, Union
-from PyQt5.QtCore import Qt, QEvent
-from PyQt5.QtGui import QKeySequence, QKeyEvent
+from qutebrowser.qt.QtCore import Qt, QEvent
+from qutebrowser.qt.QtGui import QKeySequence, QKeyEvent
from qutebrowser.utils import utils
diff --git a/qutebrowser/keyinput/modeman.py b/qutebrowser/keyinput/modeman.py
index 3c47fafe3..ffee91061 100644
--- a/qutebrowser/keyinput/modeman.py
+++ b/qutebrowser/keyinput/modeman.py
@@ -23,8 +23,8 @@ import functools
import dataclasses
from typing import Mapping, Callable, MutableMapping, Union, Set, cast
-from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QObject, QEvent
-from PyQt5.QtGui import QKeyEvent
+from qutebrowser.qt.QtCore import pyqtSlot, pyqtSignal, Qt, QObject, QEvent
+from qutebrowser.qt.QtGui import QKeyEvent
from qutebrowser.commands import runners
from qutebrowser.keyinput import modeparsers, basekeyparser
diff --git a/qutebrowser/keyinput/modeparsers.py b/qutebrowser/keyinput/modeparsers.py
index bd5d4e801..a7def4a9c 100644
--- a/qutebrowser/keyinput/modeparsers.py
+++ b/qutebrowser/keyinput/modeparsers.py
@@ -27,8 +27,8 @@ import traceback
import enum
from typing import TYPE_CHECKING, Sequence
-from PyQt5.QtCore import pyqtSlot, Qt, QObject
-from PyQt5.QtGui import QKeySequence, QKeyEvent
+from qutebrowser.qt.QtCore import pyqtSlot, Qt, QObject
+from qutebrowser.qt.QtGui import QKeySequence, QKeyEvent
from qutebrowser.browser import hints
from qutebrowser.commands import cmdexc
diff --git a/qutebrowser/mainwindow/mainwindow.py b/qutebrowser/mainwindow/mainwindow.py
index 7f62c2dc4..8270871e7 100644
--- a/qutebrowser/mainwindow/mainwindow.py
+++ b/qutebrowser/mainwindow/mainwindow.py
@@ -25,10 +25,10 @@ import itertools
import functools
from typing import List, MutableSequence, Optional, Tuple, cast
-from PyQt5.QtCore import (pyqtBoundSignal, pyqtSlot, QRect, QPoint, QTimer, Qt,
+from qutebrowser.qt.QtCore import (pyqtBoundSignal, pyqtSlot, QRect, QPoint, QTimer, Qt,
QCoreApplication, QEventLoop, QByteArray)
-from PyQt5.QtWidgets import QWidget, QVBoxLayout, QSizePolicy
-from PyQt5.QtGui import QPalette
+from qutebrowser.qt.QtWidgets import QWidget, QVBoxLayout, QSizePolicy
+from qutebrowser.qt.QtGui import QPalette
from qutebrowser.commands import runners
from qutebrowser.api import cmdutils
diff --git a/qutebrowser/mainwindow/messageview.py b/qutebrowser/mainwindow/messageview.py
index 58fcb3683..c4a9a9b40 100644
--- a/qutebrowser/mainwindow/messageview.py
+++ b/qutebrowser/mainwindow/messageview.py
@@ -21,8 +21,8 @@
from typing import MutableSequence, Optional
-from PyQt5.QtCore import pyqtSlot, pyqtSignal, QTimer, Qt
-from PyQt5.QtWidgets import QWidget, QVBoxLayout, QLabel, QSizePolicy
+from qutebrowser.qt.QtCore import pyqtSlot, pyqtSignal, QTimer, Qt
+from qutebrowser.qt.QtWidgets import QWidget, QVBoxLayout, QLabel, QSizePolicy
from qutebrowser.config import config, stylesheet
from qutebrowser.utils import usertypes
diff --git a/qutebrowser/mainwindow/prompt.py b/qutebrowser/mainwindow/prompt.py
index 6fea16093..edebdae4b 100644
--- a/qutebrowser/mainwindow/prompt.py
+++ b/qutebrowser/mainwindow/prompt.py
@@ -26,9 +26,9 @@ import functools
import dataclasses
from typing import Deque, MutableSequence, Optional, cast
-from PyQt5.QtCore import (pyqtSlot, pyqtSignal, Qt, QTimer, QDir, QModelIndex,
+from qutebrowser.qt.QtCore import (pyqtSlot, pyqtSignal, Qt, QTimer, QDir, QModelIndex,
QItemSelectionModel, QObject, QEventLoop)
-from PyQt5.QtWidgets import (QWidget, QGridLayout, QVBoxLayout, QLineEdit,
+from qutebrowser.qt.QtWidgets import (QWidget, QGridLayout, QVBoxLayout, QLineEdit,
QLabel, QFileSystemModel, QTreeView, QSizePolicy,
QSpacerItem)
diff --git a/qutebrowser/mainwindow/statusbar/bar.py b/qutebrowser/mainwindow/statusbar/bar.py
index 8bad290be..52b042238 100644
--- a/qutebrowser/mainwindow/statusbar/bar.py
+++ b/qutebrowser/mainwindow/statusbar/bar.py
@@ -22,9 +22,9 @@
import enum
import dataclasses
-from PyQt5.QtCore import (pyqtSignal, pyqtSlot, # type: ignore[attr-defined]
+from qutebrowser.qt.QtCore import (pyqtSignal, pyqtSlot, # type: ignore[attr-defined]
pyqtProperty, Qt, QSize, QTimer)
-from PyQt5.QtWidgets import QWidget, QHBoxLayout, QStackedLayout, QSizePolicy
+from qutebrowser.qt.QtWidgets import QWidget, QHBoxLayout, QStackedLayout, QSizePolicy
from qutebrowser.browser import browsertab
from qutebrowser.config import config, stylesheet
diff --git a/qutebrowser/mainwindow/statusbar/command.py b/qutebrowser/mainwindow/statusbar/command.py
index 92408d34f..936a4310d 100644
--- a/qutebrowser/mainwindow/statusbar/command.py
+++ b/qutebrowser/mainwindow/statusbar/command.py
@@ -20,9 +20,9 @@
"""The commandline in the statusbar."""
-from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QSize
-from PyQt5.QtGui import QKeyEvent
-from PyQt5.QtWidgets import QSizePolicy, QWidget
+from qutebrowser.qt.QtCore import pyqtSignal, pyqtSlot, Qt, QSize
+from qutebrowser.qt.QtGui import QKeyEvent
+from qutebrowser.qt.QtWidgets import QSizePolicy, QWidget
from qutebrowser.keyinput import modeman, modeparsers
from qutebrowser.api import cmdutils
diff --git a/qutebrowser/mainwindow/statusbar/keystring.py b/qutebrowser/mainwindow/statusbar/keystring.py
index 590dbda93..e0d7b32e6 100644
--- a/qutebrowser/mainwindow/statusbar/keystring.py
+++ b/qutebrowser/mainwindow/statusbar/keystring.py
@@ -19,7 +19,7 @@
"""Keychain string displayed in the statusbar."""
-from PyQt5.QtCore import pyqtSlot
+from qutebrowser.qt.QtCore import pyqtSlot
from qutebrowser.mainwindow.statusbar import textbase
from qutebrowser.utils import usertypes
diff --git a/qutebrowser/mainwindow/statusbar/percentage.py b/qutebrowser/mainwindow/statusbar/percentage.py
index 122a4d4b4..756b4dea6 100644
--- a/qutebrowser/mainwindow/statusbar/percentage.py
+++ b/qutebrowser/mainwindow/statusbar/percentage.py
@@ -19,7 +19,7 @@
"""Scroll percentage displayed in the statusbar."""
-from PyQt5.QtCore import pyqtSlot, Qt
+from qutebrowser.qt.QtCore import pyqtSlot, Qt
from qutebrowser.mainwindow.statusbar import textbase
from qutebrowser.misc import throttle
diff --git a/qutebrowser/mainwindow/statusbar/progress.py b/qutebrowser/mainwindow/statusbar/progress.py
index 9d56cd03f..32ee3978f 100644
--- a/qutebrowser/mainwindow/statusbar/progress.py
+++ b/qutebrowser/mainwindow/statusbar/progress.py
@@ -19,8 +19,8 @@
"""The progress bar in the statusbar."""
-from PyQt5.QtCore import pyqtSlot, QSize
-from PyQt5.QtWidgets import QProgressBar, QSizePolicy
+from qutebrowser.qt.QtCore import pyqtSlot, QSize
+from qutebrowser.qt.QtWidgets import QProgressBar, QSizePolicy
from qutebrowser.config import stylesheet
from qutebrowser.utils import utils, usertypes
diff --git a/qutebrowser/mainwindow/statusbar/tabindex.py b/qutebrowser/mainwindow/statusbar/tabindex.py
index 635d3817b..083601de3 100644
--- a/qutebrowser/mainwindow/statusbar/tabindex.py
+++ b/qutebrowser/mainwindow/statusbar/tabindex.py
@@ -19,7 +19,7 @@
"""TabIndex displayed in the statusbar."""
-from PyQt5.QtCore import pyqtSlot
+from qutebrowser.qt.QtCore import pyqtSlot
from qutebrowser.mainwindow.statusbar import textbase
diff --git a/qutebrowser/mainwindow/statusbar/textbase.py b/qutebrowser/mainwindow/statusbar/textbase.py
index cb454b902..646d1bf8e 100644
--- a/qutebrowser/mainwindow/statusbar/textbase.py
+++ b/qutebrowser/mainwindow/statusbar/textbase.py
@@ -19,9 +19,9 @@
"""Base text widgets for statusbar."""
-from PyQt5.QtCore import Qt
-from PyQt5.QtWidgets import QLabel, QSizePolicy
-from PyQt5.QtGui import QPainter
+from qutebrowser.qt.QtCore import Qt
+from qutebrowser.qt.QtWidgets import QLabel, QSizePolicy
+from qutebrowser.qt.QtGui import QPainter
from qutebrowser.utils import qtutils, utils
diff --git a/qutebrowser/mainwindow/statusbar/url.py b/qutebrowser/mainwindow/statusbar/url.py
index 99818e284..45d3b8c65 100644
--- a/qutebrowser/mainwindow/statusbar/url.py
+++ b/qutebrowser/mainwindow/statusbar/url.py
@@ -21,7 +21,7 @@
import enum
-from PyQt5.QtCore import (pyqtSlot, pyqtProperty, # type: ignore[attr-defined]
+from qutebrowser.qt.QtCore import (pyqtSlot, pyqtProperty, # type: ignore[attr-defined]
QUrl)
from qutebrowser.mainwindow.statusbar import textbase
diff --git a/qutebrowser/mainwindow/tabbedbrowser.py b/qutebrowser/mainwindow/tabbedbrowser.py
index a96f6d583..ce2b8c8e9 100644
--- a/qutebrowser/mainwindow/tabbedbrowser.py
+++ b/qutebrowser/mainwindow/tabbedbrowser.py
@@ -27,8 +27,8 @@ import dataclasses
from typing import (
Any, Deque, List, Mapping, MutableMapping, MutableSequence, Optional, Tuple)
-from PyQt5.QtWidgets import QSizePolicy, QWidget, QApplication
-from PyQt5.QtCore import pyqtSignal, pyqtSlot, QTimer, QUrl
+from qutebrowser.qt.QtWidgets import QSizePolicy, QWidget, QApplication
+from qutebrowser.qt.QtCore import pyqtSignal, pyqtSlot, QTimer, QUrl
from qutebrowser.config import config
from qutebrowser.keyinput import modeman
diff --git a/qutebrowser/mainwindow/tabwidget.py b/qutebrowser/mainwindow/tabwidget.py
index 511c2c309..38bcef3a9 100644
--- a/qutebrowser/mainwindow/tabwidget.py
+++ b/qutebrowser/mainwindow/tabwidget.py
@@ -24,12 +24,12 @@ import contextlib
import dataclasses
from typing import Optional, cast
-from PyQt5.QtCore import (pyqtSignal, pyqtSlot, Qt, QSize, QRect, QPoint,
+from qutebrowser.qt.QtCore import (pyqtSignal, pyqtSlot, Qt, QSize, QRect, QPoint,
QTimer, QUrl)
-from PyQt5.QtWidgets import (QTabWidget, QTabBar, QSizePolicy, QCommonStyle,
+from qutebrowser.qt.QtWidgets import (QTabWidget, QTabBar, QSizePolicy, QCommonStyle,
QStyle, QStylePainter, QStyleOptionTab,
QStyleFactory, QWidget)
-from PyQt5.QtGui import QIcon, QPalette, QColor
+from qutebrowser.qt.QtGui import QIcon, QPalette, QColor
from qutebrowser.utils import qtutils, objreg, utils, usertypes, log
from qutebrowser.config import config, stylesheet
diff --git a/qutebrowser/mainwindow/windowundo.py b/qutebrowser/mainwindow/windowundo.py
index ea7e1a987..3317288ce 100644
--- a/qutebrowser/mainwindow/windowundo.py
+++ b/qutebrowser/mainwindow/windowundo.py
@@ -23,7 +23,7 @@ import collections
import dataclasses
from typing import MutableSequence, cast, TYPE_CHECKING
-from PyQt5.QtCore import QObject, QByteArray
+from qutebrowser.qt.QtCore import QObject, QByteArray
from qutebrowser.config import config
from qutebrowser.mainwindow import mainwindow
diff --git a/qutebrowser/misc/autoupdate.py b/qutebrowser/misc/autoupdate.py
index 73afdde54..dcf34cfce 100644
--- a/qutebrowser/misc/autoupdate.py
+++ b/qutebrowser/misc/autoupdate.py
@@ -21,7 +21,7 @@
import json
-from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject, QUrl
+from qutebrowser.qt.QtCore import pyqtSignal, pyqtSlot, QObject, QUrl
from qutebrowser.misc import httpclient
diff --git a/qutebrowser/misc/backendproblem.py b/qutebrowser/misc/backendproblem.py
index 3e14719e0..675899867 100644
--- a/qutebrowser/misc/backendproblem.py
+++ b/qutebrowser/misc/backendproblem.py
@@ -29,10 +29,10 @@ import argparse
import dataclasses
from typing import Any, List, Sequence, Tuple, Optional
-from PyQt5.QtCore import Qt
-from PyQt5.QtWidgets import (QDialog, QPushButton, QHBoxLayout, QVBoxLayout, QLabel,
+from qutebrowser.qt.QtCore import Qt
+from qutebrowser.qt.QtWidgets import (QDialog, QPushButton, QHBoxLayout, QVBoxLayout, QLabel,
QMessageBox, QWidget)
-from PyQt5.QtNetwork import QSslSocket
+from qutebrowser.qt.QtNetwork import QSslSocket
from qutebrowser.config import config, configfiles
from qutebrowser.utils import (usertypes, version, qtutils, log, utils,
@@ -270,9 +270,9 @@ class _BackendProblemChecker:
results = _BackendImports()
try:
- from PyQt5 import QtWebKit
- from PyQt5.QtWebKit import qWebKitVersion
- from PyQt5 import QtWebKitWidgets
+ from qutebrowser.qt import QtWebKit
+ from qutebrowser.qt.QtWebKit import qWebKitVersion
+ from qutebrowser.qt import QtWebKitWidgets
except (ImportError, ValueError) as e:
results.webkit_error = str(e)
else:
@@ -280,7 +280,7 @@ class _BackendProblemChecker:
results.webkit_error = "Unsupported legacy QtWebKit found"
try:
- from PyQt5 import QtWebEngineWidgets
+ from qutebrowser.qt import QtWebEngineWidgets
except (ImportError, ValueError) as e:
results.webengine_error = str(e)
diff --git a/qutebrowser/misc/cmdhistory.py b/qutebrowser/misc/cmdhistory.py
index e4218832c..ca19b5bce 100644
--- a/qutebrowser/misc/cmdhistory.py
+++ b/qutebrowser/misc/cmdhistory.py
@@ -21,7 +21,7 @@
from typing import MutableSequence
-from PyQt5.QtCore import pyqtSlot, pyqtSignal, QObject
+from qutebrowser.qt.QtCore import pyqtSlot, pyqtSignal, QObject
from qutebrowser.utils import usertypes, log, standarddir, objreg
from qutebrowser.misc import lineparser
diff --git a/qutebrowser/misc/consolewidget.py b/qutebrowser/misc/consolewidget.py
index a826a4ed8..f109b0a65 100644
--- a/qutebrowser/misc/consolewidget.py
+++ b/qutebrowser/misc/consolewidget.py
@@ -23,9 +23,9 @@ import sys
import code
from typing import MutableSequence
-from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt
-from PyQt5.QtWidgets import QTextEdit, QWidget, QVBoxLayout, QApplication
-from PyQt5.QtGui import QTextCursor
+from qutebrowser.qt.QtCore import pyqtSignal, pyqtSlot, Qt
+from qutebrowser.qt.QtWidgets import QTextEdit, QWidget, QVBoxLayout, QApplication
+from qutebrowser.qt.QtGui import QTextCursor
from qutebrowser.config import stylesheet
from qutebrowser.misc import cmdhistory, miscwidgets
diff --git a/qutebrowser/misc/crashdialog.py b/qutebrowser/misc/crashdialog.py
index 430553433..d3afd9888 100644
--- a/qutebrowser/misc/crashdialog.py
+++ b/qutebrowser/misc/crashdialog.py
@@ -30,8 +30,8 @@ import datetime
import enum
from typing import List, Tuple
-from PyQt5.QtCore import pyqtSlot, Qt, QSize
-from PyQt5.QtWidgets import (QDialog, QLabel, QTextEdit, QPushButton,
+from qutebrowser.qt.QtCore import pyqtSlot, Qt, QSize
+from qutebrowser.qt.QtWidgets import (QDialog, QLabel, QTextEdit, QPushButton,
QVBoxLayout, QHBoxLayout, QCheckBox,
QDialogButtonBox, QMessageBox)
diff --git a/qutebrowser/misc/crashsignal.py b/qutebrowser/misc/crashsignal.py
index d94d3ec54..8a6771795 100644
--- a/qutebrowser/misc/crashsignal.py
+++ b/qutebrowser/misc/crashsignal.py
@@ -32,9 +32,9 @@ import faulthandler
import dataclasses
from typing import TYPE_CHECKING, Optional, MutableMapping, cast, List
-from PyQt5.QtCore import (pyqtSlot, qInstallMessageHandler, QObject,
+from qutebrowser.qt.QtCore import (pyqtSlot, qInstallMessageHandler, QObject,
QSocketNotifier, QTimer, QUrl)
-from PyQt5.QtWidgets import QApplication
+from qutebrowser.qt.QtWidgets import QApplication
from qutebrowser.api import cmdutils
from qutebrowser.misc import earlyinit, crashdialog, ipc, objects
diff --git a/qutebrowser/misc/earlyinit.py b/qutebrowser/misc/earlyinit.py
index 4b3df4db2..dd51799e8 100644
--- a/qutebrowser/misc/earlyinit.py
+++ b/qutebrowser/misc/earlyinit.py
@@ -78,8 +78,8 @@ def _die(message, exception=None):
message: The message to display.
exception: The exception object if we're handling an exception.
"""
- from PyQt5.QtWidgets import QApplication, QMessageBox
- from PyQt5.QtCore import Qt
+ from qutebrowser.qt.QtWidgets import QApplication, QMessageBox
+ from qutebrowser.qt.QtCore import Qt
if (('--debug' in sys.argv or '--no-err-windows' in sys.argv) and
exception is not None):
print(file=sys.stderr)
@@ -162,10 +162,10 @@ def check_pyqt():
def qt_version(qversion=None, qt_version_str=None):
"""Get a Qt version string based on the runtime/compiled versions."""
if qversion is None:
- from PyQt5.QtCore import qVersion
+ from qutebrowser.qt.QtCore import qVersion
qversion = qVersion()
if qt_version_str is None:
- from PyQt5.QtCore import QT_VERSION_STR
+ from qutebrowser.qt.QtCore import QT_VERSION_STR
qt_version_str = QT_VERSION_STR
if qversion != qt_version_str:
@@ -176,9 +176,9 @@ def qt_version(qversion=None, qt_version_str=None):
def check_qt_version():
"""Check if the Qt version is recent enough."""
- from PyQt5.QtCore import QT_VERSION, PYQT_VERSION, PYQT_VERSION_STR
+ from qutebrowser.qt.QtCore import QT_VERSION, PYQT_VERSION, PYQT_VERSION_STR
try:
- from PyQt5.QtCore import QVersionNumber, QLibraryInfo
+ from qutebrowser.qt.QtCore import QVersionNumber, QLibraryInfo
qt_ver = QLibraryInfo.version().normalized()
recent_qt_runtime = qt_ver >= QVersionNumber(5, 12) # type: ignore[operator]
except (ImportError, AttributeError):
@@ -200,7 +200,7 @@ def check_qt_version():
def check_ssl_support():
"""Check if SSL support is available."""
try:
- from PyQt5.QtNetwork import QSslSocket # pylint: disable=unused-import
+ from qutebrowser.qt.QtNetwork import QSslSocket # pylint: disable=unused-import
except ImportError:
_die("Fatal error: Your Qt is built without SSL support.")
@@ -252,7 +252,7 @@ def configure_pyqt():
Doing this means we can't use the interactive shell anymore (which we don't
anyways), but we can use pdb instead.
"""
- from PyQt5 import QtCore
+ from qutebrowser.qt import QtCore
QtCore.pyqtRemoveInputHook()
try:
QtCore.pyqt5_enable_new_onexit_scheme(True) # type: ignore[attr-defined]
@@ -293,7 +293,7 @@ def webengine_early_import():
error messages in backendproblem.py are accurate.
"""
try:
- from PyQt5 import QtWebEngineWidgets # pylint: disable=unused-import
+ from qutebrowser.qt import QtWebEngineWidgets # pylint: disable=unused-import
except ImportError:
pass
diff --git a/qutebrowser/misc/editor.py b/qutebrowser/misc/editor.py
index 3ef84284d..7a23763d8 100644
--- a/qutebrowser/misc/editor.py
+++ b/qutebrowser/misc/editor.py
@@ -22,7 +22,7 @@
import os
import tempfile
-from PyQt5.QtCore import (pyqtSignal, pyqtSlot, QObject, QProcess,
+from qutebrowser.qt.QtCore import (pyqtSignal, pyqtSlot, QObject, QProcess,
QFileSystemWatcher)
from qutebrowser.config import config
diff --git a/qutebrowser/misc/elf.py b/qutebrowser/misc/elf.py
index bf824880a..f9514939f 100644
--- a/qutebrowser/misc/elf.py
+++ b/qutebrowser/misc/elf.py
@@ -67,7 +67,7 @@ import mmap
import pathlib
from typing import Any, IO, ClassVar, Dict, Optional, Tuple, cast
-from PyQt5.QtCore import QLibraryInfo
+from qutebrowser.qt.QtCore import QLibraryInfo
from qutebrowser.utils import log, version
diff --git a/qutebrowser/misc/guiprocess.py b/qutebrowser/misc/guiprocess.py
index e14169f93..f4a26a61c 100644
--- a/qutebrowser/misc/guiprocess.py
+++ b/qutebrowser/misc/guiprocess.py
@@ -25,7 +25,7 @@ import shlex
import shutil
from typing import Mapping, Sequence, Dict, Optional
-from PyQt5.QtCore import (pyqtSlot, pyqtSignal, QObject, QProcess,
+from qutebrowser.qt.QtCore import (pyqtSlot, pyqtSignal, QObject, QProcess,
QProcessEnvironment, QByteArray, QUrl, Qt)
from qutebrowser.utils import message, log, utils, usertypes, version
diff --git a/qutebrowser/misc/httpclient.py b/qutebrowser/misc/httpclient.py
index d4a8e7673..8fdafb9f6 100644
--- a/qutebrowser/misc/httpclient.py
+++ b/qutebrowser/misc/httpclient.py
@@ -23,8 +23,8 @@ import functools
import urllib.parse
from typing import MutableMapping
-from PyQt5.QtCore import pyqtSignal, QObject, QTimer
-from PyQt5.QtNetwork import (QNetworkAccessManager, QNetworkRequest,
+from qutebrowser.qt.QtCore import pyqtSignal, QObject, QTimer
+from qutebrowser.qt.QtNetwork import (QNetworkAccessManager, QNetworkRequest,
QNetworkReply)
from qutebrowser.utils import log
diff --git a/qutebrowser/misc/ipc.py b/qutebrowser/misc/ipc.py
index 77b9e8f6c..5ff9b97e8 100644
--- a/qutebrowser/misc/ipc.py
+++ b/qutebrowser/misc/ipc.py
@@ -26,8 +26,8 @@ import getpass
import binascii
import hashlib
-from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject, Qt
-from PyQt5.QtNetwork import QLocalSocket, QLocalServer, QAbstractSocket
+from qutebrowser.qt.QtCore import pyqtSignal, pyqtSlot, QObject, Qt
+from qutebrowser.qt.QtNetwork import QLocalSocket, QLocalServer, QAbstractSocket
import qutebrowser
from qutebrowser.utils import log, usertypes, error, standarddir, utils
diff --git a/qutebrowser/misc/keyhintwidget.py b/qutebrowser/misc/keyhintwidget.py
index 93d9af09d..5471cc29d 100644
--- a/qutebrowser/misc/keyhintwidget.py
+++ b/qutebrowser/misc/keyhintwidget.py
@@ -28,8 +28,8 @@ import html
import fnmatch
import re
-from PyQt5.QtWidgets import QLabel, QSizePolicy
-from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt
+from qutebrowser.qt.QtWidgets import QLabel, QSizePolicy
+from qutebrowser.qt.QtCore import pyqtSlot, pyqtSignal, Qt
from qutebrowser.config import config, stylesheet
from qutebrowser.utils import utils, usertypes
diff --git a/qutebrowser/misc/lineparser.py b/qutebrowser/misc/lineparser.py
index fee87354f..5793b783d 100644
--- a/qutebrowser/misc/lineparser.py
+++ b/qutebrowser/misc/lineparser.py
@@ -24,7 +24,7 @@ import os.path
import contextlib
from typing import Sequence
-from PyQt5.QtCore import pyqtSlot, pyqtSignal, QObject
+from qutebrowser.qt.QtCore import pyqtSlot, pyqtSignal, QObject
from qutebrowser.utils import log, utils, qtutils
from qutebrowser.config import config
diff --git a/qutebrowser/misc/miscwidgets.py b/qutebrowser/misc/miscwidgets.py
index 4354ed2ab..73c74f5f3 100644
--- a/qutebrowser/misc/miscwidgets.py
+++ b/qutebrowser/misc/miscwidgets.py
@@ -21,11 +21,11 @@
from typing import Optional
-from PyQt5.QtCore import pyqtSlot, pyqtSignal, Qt, QSize, QTimer
-from PyQt5.QtWidgets import (QLineEdit, QWidget, QHBoxLayout, QLabel,
+from qutebrowser.qt.QtCore import pyqtSlot, pyqtSignal, Qt, QSize, QTimer
+from qutebrowser.qt.QtWidgets import (QLineEdit, QWidget, QHBoxLayout, QLabel,
QStyleOption, QStyle, QLayout, QApplication,
QSplitter)
-from PyQt5.QtGui import QValidator, QPainter, QResizeEvent
+from qutebrowser.qt.QtGui import QValidator, QPainter, QResizeEvent
from qutebrowser.config import config, configfiles
from qutebrowser.utils import utils, log, usertypes
diff --git a/qutebrowser/misc/msgbox.py b/qutebrowser/misc/msgbox.py
index 4271c2639..2a607661e 100644
--- a/qutebrowser/misc/msgbox.py
+++ b/qutebrowser/misc/msgbox.py
@@ -19,8 +19,8 @@
"""Convenience functions to show message boxes."""
-from PyQt5.QtCore import Qt
-from PyQt5.QtWidgets import QMessageBox
+from qutebrowser.qt.QtCore import Qt
+from qutebrowser.qt.QtWidgets import QMessageBox
from qutebrowser.misc import objects
from qutebrowser.utils import log
diff --git a/qutebrowser/misc/objects.py b/qutebrowser/misc/objects.py
index 00a1ef35d..6fde80d86 100644
--- a/qutebrowser/misc/objects.py
+++ b/qutebrowser/misc/objects.py
@@ -26,7 +26,7 @@ import argparse
from typing import TYPE_CHECKING, Any, Dict, Set, Union, cast
if TYPE_CHECKING:
- from PyQt5.QtWidgets import QApplication
+ from qutebrowser.qt.QtWidgets import QApplication
from qutebrowser.utils import usertypes
from qutebrowser.commands import command
diff --git a/qutebrowser/misc/pastebin.py b/qutebrowser/misc/pastebin.py
index a4e0a196f..84697caca 100644
--- a/qutebrowser/misc/pastebin.py
+++ b/qutebrowser/misc/pastebin.py
@@ -21,7 +21,7 @@
import urllib.parse
-from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject, QUrl
+from qutebrowser.qt.QtCore import pyqtSignal, pyqtSlot, QObject, QUrl
class PastebinClient(QObject):
diff --git a/qutebrowser/misc/quitter.py b/qutebrowser/misc/quitter.py
index 905429989..d893a4540 100644
--- a/qutebrowser/misc/quitter.py
+++ b/qutebrowser/misc/quitter.py
@@ -31,7 +31,7 @@ import functools
import subprocess
from typing import Iterable, Mapping, MutableSequence, Sequence, cast
-from PyQt5.QtCore import QObject, pyqtSignal, QTimer
+from qutebrowser.qt.QtCore import QObject, pyqtSignal, QTimer
try:
import hunter
except ImportError:
diff --git a/qutebrowser/misc/savemanager.py b/qutebrowser/misc/savemanager.py
index 1b72734cb..baba0f42d 100644
--- a/qutebrowser/misc/savemanager.py
+++ b/qutebrowser/misc/savemanager.py
@@ -23,7 +23,7 @@ import os.path
import collections
from typing import MutableMapping
-from PyQt5.QtCore import pyqtSlot, QObject, QTimer
+from qutebrowser.qt.QtCore import pyqtSlot, QObject, QTimer
from qutebrowser.config import config
from qutebrowser.api import cmdutils
diff --git a/qutebrowser/misc/sessions.py b/qutebrowser/misc/sessions.py
index a28f3a848..fbf6cb07e 100644
--- a/qutebrowser/misc/sessions.py
+++ b/qutebrowser/misc/sessions.py
@@ -27,7 +27,7 @@ import shutil
import pathlib
from typing import Any, Iterable, MutableMapping, MutableSequence, Optional, Union, cast
-from PyQt5.QtCore import Qt, QUrl, QObject, QPoint, QTimer, QDateTime
+from qutebrowser.qt.QtCore import Qt, QUrl, QObject, QPoint, QTimer, QDateTime
import yaml
from qutebrowser.utils import (standarddir, objreg, qtutils, log, message,
diff --git a/qutebrowser/misc/sql.py b/qutebrowser/misc/sql.py
index 8f3282a2f..4c75a9f61 100644
--- a/qutebrowser/misc/sql.py
+++ b/qutebrowser/misc/sql.py
@@ -25,8 +25,8 @@ import dataclasses
import types
from typing import Any, Dict, Iterator, List, Mapping, MutableSequence, Optional, Type
-from PyQt5.QtCore import QObject, pyqtSignal
-from PyQt5.QtSql import QSqlDatabase, QSqlError, QSqlQuery
+from qutebrowser.qt.QtCore import QObject, pyqtSignal
+from qutebrowser.qt.QtSql import QSqlDatabase, QSqlError, QSqlQuery
from qutebrowser.qt import sip
from qutebrowser.utils import debug, log
diff --git a/qutebrowser/misc/throttle.py b/qutebrowser/misc/throttle.py
index ac565b68d..a61ab5da5 100644
--- a/qutebrowser/misc/throttle.py
+++ b/qutebrowser/misc/throttle.py
@@ -23,7 +23,7 @@ import dataclasses
import time
from typing import Any, Callable, Mapping, Optional, Sequence
-from PyQt5.QtCore import QObject
+from qutebrowser.qt.QtCore import QObject
from qutebrowser.utils import usertypes
diff --git a/qutebrowser/misc/utilcmds.py b/qutebrowser/misc/utilcmds.py
index 14c02864e..16008aeab 100644
--- a/qutebrowser/misc/utilcmds.py
+++ b/qutebrowser/misc/utilcmds.py
@@ -27,8 +27,8 @@ import sys
import traceback
from typing import Optional
-from PyQt5.QtCore import QUrl
-from PyQt5.QtWidgets import QApplication
+from qutebrowser.qt.QtCore import QUrl
+from qutebrowser.qt.QtWidgets import QApplication
from qutebrowser.browser import qutescheme
from qutebrowser.utils import log, objreg, usertypes, message, debug, utils
diff --git a/qutebrowser/resources.py b/qutebrowser/resources.py
index ebe256809..7c213bddd 100644
--- a/qutebrowser/resources.py
+++ b/qutebrowser/resources.py
@@ -6,7 +6,7 @@
#
# WARNING! All changes made in this file will be lost!
-from PyQt5 import QtCore
+from qutebrowser.qt import QtCore
qt_resource_data = b"\
\x00\x00\x22\xfe\
diff --git a/qutebrowser/utils/debug.py b/qutebrowser/utils/debug.py
index 0fa74f4e7..c3583731e 100644
--- a/qutebrowser/utils/debug.py
+++ b/qutebrowser/utils/debug.py
@@ -28,7 +28,7 @@ import types
from typing import (
Any, Callable, List, Mapping, MutableSequence, Optional, Sequence, Type, Union)
-from PyQt5.QtCore import Qt, QEvent, QMetaMethod, QObject, pyqtBoundSignal
+from qutebrowser.qt.QtCore import Qt, QEvent, QMetaMethod, QObject, pyqtBoundSignal
from qutebrowser.utils import log, utils, qtutils, objreg
from qutebrowser.misc import objects
diff --git a/qutebrowser/utils/error.py b/qutebrowser/utils/error.py
index a5889f977..e6a20a0e4 100644
--- a/qutebrowser/utils/error.py
+++ b/qutebrowser/utils/error.py
@@ -19,7 +19,7 @@
"""Tools related to error printing/displaying."""
-from PyQt5.QtWidgets import QMessageBox
+from qutebrowser.qt.QtWidgets import QMessageBox
from qutebrowser.utils import log, utils
diff --git a/qutebrowser/utils/jinja.py b/qutebrowser/utils/jinja.py
index a44a0235e..ad2b6954a 100644
--- a/qutebrowser/utils/jinja.py
+++ b/qutebrowser/utils/jinja.py
@@ -29,7 +29,7 @@ from typing import Any, Callable, FrozenSet, Iterator, List, Set, Tuple
import jinja2
import jinja2.nodes
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.utils import utils, urlutils, log, qtutils, resources
from qutebrowser.misc import debugcachestats
diff --git a/qutebrowser/utils/log.py b/qutebrowser/utils/log.py
index 22035e074..39a095180 100644
--- a/qutebrowser/utils/log.py
+++ b/qutebrowser/utils/log.py
@@ -35,7 +35,7 @@ import argparse
from typing import (TYPE_CHECKING, Any, Iterator, Mapping, MutableSequence,
Optional, Set, Tuple, Union)
-from PyQt5 import QtCore
+from qutebrowser.qt import QtCore
# Optional imports
try:
import colorama
diff --git a/qutebrowser/utils/message.py b/qutebrowser/utils/message.py
index c490aa4e8..2a057b0ed 100644
--- a/qutebrowser/utils/message.py
+++ b/qutebrowser/utils/message.py
@@ -26,7 +26,7 @@
import traceback
from typing import Any, Callable, Iterable, List, Tuple, Union, Optional
-from PyQt5.QtCore import pyqtSignal, pyqtBoundSignal, QObject
+from qutebrowser.qt.QtCore import pyqtSignal, pyqtBoundSignal, QObject
from qutebrowser.utils import usertypes, log
diff --git a/qutebrowser/utils/objreg.py b/qutebrowser/utils/objreg.py
index 0819a5d0a..df13fa6e4 100644
--- a/qutebrowser/utils/objreg.py
+++ b/qutebrowser/utils/objreg.py
@@ -25,9 +25,9 @@ import functools
from typing import (TYPE_CHECKING, Any, Callable, MutableMapping, MutableSequence,
Optional, Sequence, Union)
-from PyQt5.QtCore import QObject, QTimer
-from PyQt5.QtWidgets import QApplication
-from PyQt5.QtWidgets import QWidget
+from qutebrowser.qt.QtCore import QObject, QTimer
+from qutebrowser.qt.QtWidgets import QApplication
+from qutebrowser.qt.QtWidgets import QWidget
from qutebrowser.utils import log, usertypes, utils
if TYPE_CHECKING:
diff --git a/qutebrowser/utils/qtutils.py b/qutebrowser/utils/qtutils.py
index ff8983c50..f634b1ffb 100644
--- a/qutebrowser/utils/qtutils.py
+++ b/qutebrowser/utils/qtutils.py
@@ -34,17 +34,17 @@ import contextlib
from typing import (Any, AnyStr, TYPE_CHECKING, BinaryIO, IO, Iterator,
Optional, Union, Tuple, cast)
-from PyQt5.QtCore import (qVersion, QEventLoop, QDataStream, QByteArray,
+from qutebrowser.qt.QtCore import (qVersion, QEventLoop, QDataStream, QByteArray,
QIODevice, QFileDevice, QSaveFile, QT_VERSION_STR,
PYQT_VERSION_STR, QObject, QUrl)
-from PyQt5.QtGui import QColor
+from qutebrowser.qt.QtGui import QColor
try:
- from PyQt5.QtWebKit import qWebKitVersion
+ from qutebrowser.qt.QtWebKit import qWebKitVersion
except ImportError: # pragma: no cover
qWebKitVersion = None # type: ignore[assignment] # noqa: N816
if TYPE_CHECKING:
- from PyQt5.QtWebKit import QWebHistory
- from PyQt5.QtWebEngineWidgets import QWebEngineHistory
+ from qutebrowser.qt.QtWebKit import QWebHistory
+ from qutebrowser.qt.QtWebEngineWidgets import QWebEngineHistory
from qutebrowser.misc import objects
from qutebrowser.utils import usertypes, utils
diff --git a/qutebrowser/utils/standarddir.py b/qutebrowser/utils/standarddir.py
index c753e9de6..292e94d31 100644
--- a/qutebrowser/utils/standarddir.py
+++ b/qutebrowser/utils/standarddir.py
@@ -27,8 +27,8 @@ import enum
import argparse
from typing import Iterator, Optional
-from PyQt5.QtCore import QStandardPaths
-from PyQt5.QtWidgets import QApplication
+from qutebrowser.qt.QtCore import QStandardPaths
+from qutebrowser.qt.QtWidgets import QApplication
from qutebrowser.utils import log, debug, utils, version
diff --git a/qutebrowser/utils/urlmatch.py b/qutebrowser/utils/urlmatch.py
index f14c2083d..5d848daca 100644
--- a/qutebrowser/utils/urlmatch.py
+++ b/qutebrowser/utils/urlmatch.py
@@ -34,7 +34,7 @@ import fnmatch
import urllib.parse
from typing import Any, Optional, Tuple
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.utils import utils, qtutils
diff --git a/qutebrowser/utils/urlutils.py b/qutebrowser/utils/urlutils.py
index cfba2c1d8..22c6d2e28 100644
--- a/qutebrowser/utils/urlutils.py
+++ b/qutebrowser/utils/urlutils.py
@@ -28,8 +28,8 @@ import urllib.parse
import mimetypes
from typing import Optional, Tuple, Union, Iterable
-from PyQt5.QtCore import QUrl
-from PyQt5.QtNetwork import QHostInfo, QHostAddress, QNetworkProxy
+from qutebrowser.qt.QtCore import QUrl
+from qutebrowser.qt.QtNetwork import QHostInfo, QHostAddress, QNetworkProxy
from qutebrowser.api import cmdutils
from qutebrowser.config import config
diff --git a/qutebrowser/utils/usertypes.py b/qutebrowser/utils/usertypes.py
index 56c29899d..9ec873f71 100644
--- a/qutebrowser/utils/usertypes.py
+++ b/qutebrowser/utils/usertypes.py
@@ -25,8 +25,8 @@ import enum
import dataclasses
from typing import Optional, Sequence, TypeVar, Union
-from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject, QTimer
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import pyqtSignal, pyqtSlot, QObject, QTimer
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.utils import log, qtutils, utils
diff --git a/qutebrowser/utils/utils.py b/qutebrowser/utils/utils.py
index a28d662b3..81b5d5af3 100644
--- a/qutebrowser/utils/utils.py
+++ b/qutebrowser/utils/utils.py
@@ -44,9 +44,9 @@ except ImportError: # pragma: no cover
"""Empty stub at runtime."""
-from PyQt5.QtCore import QUrl, QVersionNumber, QRect
-from PyQt5.QtGui import QClipboard, QDesktopServices
-from PyQt5.QtWidgets import QApplication
+from qutebrowser.qt.QtCore import QUrl, QVersionNumber, QRect
+from qutebrowser.qt.QtGui import QClipboard, QDesktopServices
+from qutebrowser.qt.QtWidgets import QApplication
import yaml
try:
diff --git a/qutebrowser/utils/version.py b/qutebrowser/utils/version.py
index bf6b49fa6..7b30b7121 100644
--- a/qutebrowser/utils/version.py
+++ b/qutebrowser/utils/version.py
@@ -38,18 +38,18 @@ from typing import (Mapping, Optional, Sequence, Tuple, ClassVar, Dict, cast,
TYPE_CHECKING)
-from PyQt5.QtCore import PYQT_VERSION_STR, QLibraryInfo, qVersion
-from PyQt5.QtNetwork import QSslSocket
-from PyQt5.QtGui import (QOpenGLContext, QOpenGLVersionProfile,
+from qutebrowser.qt.QtCore import PYQT_VERSION_STR, QLibraryInfo, qVersion
+from qutebrowser.qt.QtNetwork import QSslSocket
+from qutebrowser.qt.QtGui import (QOpenGLContext, QOpenGLVersionProfile,
QOffscreenSurface)
-from PyQt5.QtWidgets import QApplication
+from qutebrowser.qt.QtWidgets import QApplication
try:
- from PyQt5.QtWebKit import qWebKitVersion
+ from qutebrowser.qt.QtWebKit import qWebKitVersion
except ImportError: # pragma: no cover
qWebKitVersion = None # type: ignore[assignment] # noqa: N816
try:
- from PyQt5.QtWebEngine import PYQT_WEBENGINE_VERSION_STR
+ from qutebrowser.qt.QtWebEngine import PYQT_WEBENGINE_VERSION_STR
except ImportError: # pragma: no cover
# Added in PyQt 5.13
PYQT_WEBENGINE_VERSION_STR = None # type: ignore[assignment]
diff --git a/scripts/dev/standardpaths_tester.py b/scripts/dev/standardpaths_tester.py
index 03de7f887..bf7ec9a74 100644
--- a/scripts/dev/standardpaths_tester.py
+++ b/scripts/dev/standardpaths_tester.py
@@ -23,7 +23,7 @@
import os
import sys
-from PyQt5.QtCore import (QT_VERSION_STR, PYQT_VERSION_STR, qVersion,
+from qutebrowser.qt.QtCore import (QT_VERSION_STR, PYQT_VERSION_STR, qVersion,
QStandardPaths, QCoreApplication)
diff --git a/scripts/keytester.py b/scripts/keytester.py
index bc9a22263..da861a832 100644
--- a/scripts/keytester.py
+++ b/scripts/keytester.py
@@ -23,7 +23,7 @@
Use python3 -m scripts.keytester to launch it.
"""
-from PyQt5.QtWidgets import QApplication
+from qutebrowser.qt.QtWidgets import QApplication
from qutebrowser.misc import miscwidgets
diff --git a/scripts/opengl_info.py b/scripts/opengl_info.py
index 1bfdf22aa..8cb07fe5d 100644
--- a/scripts/opengl_info.py
+++ b/scripts/opengl_info.py
@@ -20,7 +20,7 @@
"""Show information about the OpenGL setup."""
-from PyQt5.QtGui import (QOpenGLContext, QOpenGLVersionProfile,
+from qutebrowser.qt.QtGui import (QOpenGLContext, QOpenGLVersionProfile,
QOffscreenSurface, QGuiApplication)
app = QGuiApplication([])
diff --git a/scripts/testbrowser/testbrowser_webengine.py b/scripts/testbrowser/testbrowser_webengine.py
index 73fa6828e..c16cbd162 100755
--- a/scripts/testbrowser/testbrowser_webengine.py
+++ b/scripts/testbrowser/testbrowser_webengine.py
@@ -23,9 +23,9 @@
import sys
import argparse
-from PyQt5.QtCore import QUrl
-from PyQt5.QtWidgets import QApplication
-from PyQt5.QtWebEngineWidgets import QWebEngineView
+from qutebrowser.qt.QtCore import QUrl
+from qutebrowser.qt.QtWidgets import QApplication
+from qutebrowser.qt.QtWebEngineWidgets import QWebEngineView
def parse_args():
diff --git a/scripts/testbrowser/testbrowser_webkit.py b/scripts/testbrowser/testbrowser_webkit.py
index 40938d06b..72546d08b 100755
--- a/scripts/testbrowser/testbrowser_webkit.py
+++ b/scripts/testbrowser/testbrowser_webkit.py
@@ -23,10 +23,10 @@
import sys
import argparse
-from PyQt5.QtCore import QUrl
-from PyQt5.QtWidgets import QApplication
-from PyQt5.QtWebKit import QWebSettings
-from PyQt5.QtWebKitWidgets import QWebView
+from qutebrowser.qt.QtCore import QUrl
+from qutebrowser.qt.QtWidgets import QApplication
+from qutebrowser.qt.QtWebKit import QWebSettings
+from qutebrowser.qt.QtWebKitWidgets import QWebView
def parse_args():
diff --git a/tests/conftest.py b/tests/conftest.py
index 84cae784b..868b2f2a6 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -250,9 +250,9 @@ def _select_backend(config):
# Fail early if selected backend is not available
# pylint: disable=unused-import
if backend == 'webkit':
- import PyQt5.QtWebKitWidgets
+ import qutebrowser.qt.QtWebKitWidgets
elif backend == 'webengine':
- import PyQt5.QtWebEngineWidgets
+ import qutebrowser.qt.QtWebEngineWidgets
else:
raise utils.Unreachable(backend)
@@ -263,12 +263,12 @@ def _auto_select_backend():
# pylint: disable=unused-import
try:
# Try to use QtWebKit as the default backend
- import PyQt5.QtWebKitWidgets
+ import qutebrowser.qt.QtWebKitWidgets
return 'webkit'
except ImportError:
# Try to use QtWebEngine as a fallback and fail early
# if that's also not available
- import PyQt5.QtWebEngineWidgets
+ import qutebrowser.qt.QtWebEngineWidgets
return 'webengine'
diff --git a/tests/end2end/conftest.py b/tests/end2end/conftest.py
index 5241ab4c3..0ee069e77 100644
--- a/tests/end2end/conftest.py
+++ b/tests/end2end/conftest.py
@@ -27,7 +27,7 @@ import pstats
import operator
import pytest
-from PyQt5.QtCore import PYQT_VERSION, QCoreApplication
+from qutebrowser.qt.QtCore import PYQT_VERSION, QCoreApplication
pytest.register_assert_rewrite('end2end.fixtures')
@@ -119,7 +119,7 @@ def _get_version_tag(tag):
)
elif package == 'pyqtwebengine':
try:
- from PyQt5.QtWebEngine import PYQT_WEBENGINE_VERSION
+ from qutebrowser.qt.QtWebEngine import PYQT_WEBENGINE_VERSION
except ImportError:
running_version = PYQT_VERSION
else:
diff --git a/tests/end2end/features/test_downloads_bdd.py b/tests/end2end/features/test_downloads_bdd.py
index 804ed40fe..b6c49015b 100644
--- a/tests/end2end/features/test_downloads_bdd.py
+++ b/tests/end2end/features/test_downloads_bdd.py
@@ -23,7 +23,7 @@ import shlex
import pytest
import pytest_bdd as bdd
-from PyQt5.QtNetwork import QSslSocket
+from qutebrowser.qt.QtNetwork import QSslSocket
bdd.scenarios('downloads.feature')
diff --git a/tests/end2end/features/test_editor_bdd.py b/tests/end2end/features/test_editor_bdd.py
index 40f77a0f7..26226e038 100644
--- a/tests/end2end/features/test_editor_bdd.py
+++ b/tests/end2end/features/test_editor_bdd.py
@@ -26,7 +26,7 @@ import time
import pytest
import pytest_bdd as bdd
-from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject, QFileSystemWatcher
+from qutebrowser.qt.QtCore import pyqtSignal, pyqtSlot, QObject, QFileSystemWatcher
bdd.scenarios('editor.feature')
from qutebrowser.utils import utils
diff --git a/tests/end2end/fixtures/notificationserver.py b/tests/end2end/fixtures/notificationserver.py
index b643e848b..f410c86f8 100644
--- a/tests/end2end/fixtures/notificationserver.py
+++ b/tests/end2end/fixtures/notificationserver.py
@@ -21,9 +21,9 @@ import dataclasses
import itertools
from typing import Dict, List
-from PyQt5.QtCore import QObject, QByteArray, QUrl, pyqtSlot
-from PyQt5.QtGui import QImage
-from PyQt5.QtDBus import QDBusConnection, QDBusArgument, QDBusMessage
+from qutebrowser.qt.QtCore import QObject, QByteArray, QUrl, pyqtSlot
+from qutebrowser.qt.QtGui import QImage
+from qutebrowser.qt.QtDBus import QDBusConnection, QDBusArgument, QDBusMessage
import pytest
from qutebrowser.browser.webengine import notification
diff --git a/tests/end2end/fixtures/quteprocess.py b/tests/end2end/fixtures/quteprocess.py
index ab8f28d26..e0df4ff79 100644
--- a/tests/end2end/fixtures/quteprocess.py
+++ b/tests/end2end/fixtures/quteprocess.py
@@ -33,8 +33,8 @@ import json
import yaml
import pytest
-from PyQt5.QtCore import pyqtSignal, QUrl, QPoint
-from PyQt5.QtGui import QImage, QColor
+from qutebrowser.qt.QtCore import pyqtSignal, QUrl, QPoint
+from qutebrowser.qt.QtGui import QImage, QColor
from qutebrowser.misc import ipc
from qutebrowser.utils import log, utils, javascript
diff --git a/tests/end2end/fixtures/test_testprocess.py b/tests/end2end/fixtures/test_testprocess.py
index aa6f19c67..5f6bafec7 100644
--- a/tests/end2end/fixtures/test_testprocess.py
+++ b/tests/end2end/fixtures/test_testprocess.py
@@ -25,7 +25,7 @@ import contextlib
import datetime
import pytest
-from PyQt5.QtCore import QProcess
+from qutebrowser.qt.QtCore import QProcess
from end2end.fixtures import testprocess
diff --git a/tests/end2end/fixtures/testprocess.py b/tests/end2end/fixtures/testprocess.py
index 96e700390..73d0fa4a8 100644
--- a/tests/end2end/fixtures/testprocess.py
+++ b/tests/end2end/fixtures/testprocess.py
@@ -26,9 +26,9 @@ import dataclasses
import pytest
import pytestqt.wait_signal
-from PyQt5.QtCore import (pyqtSlot, pyqtSignal, QProcess, QObject,
+from qutebrowser.qt.QtCore import (pyqtSlot, pyqtSignal, QProcess, QObject,
QElapsedTimer, QProcessEnvironment)
-from PyQt5.QtTest import QSignalSpy
+from qutebrowser.qt.QtTest import QSignalSpy
from helpers import testutils
diff --git a/tests/end2end/fixtures/webserver.py b/tests/end2end/fixtures/webserver.py
index 2c2eab930..c82a0d6df 100644
--- a/tests/end2end/fixtures/webserver.py
+++ b/tests/end2end/fixtures/webserver.py
@@ -28,7 +28,7 @@ import dataclasses
from http import HTTPStatus
import pytest
-from PyQt5.QtCore import pyqtSignal, QUrl
+from qutebrowser.qt.QtCore import pyqtSignal, QUrl
from end2end.fixtures import testprocess
diff --git a/tests/end2end/test_dirbrowser.py b/tests/end2end/test_dirbrowser.py
index c2aa19233..8c7c8c23d 100644
--- a/tests/end2end/test_dirbrowser.py
+++ b/tests/end2end/test_dirbrowser.py
@@ -27,7 +27,7 @@ from typing import List
import pytest
import bs4
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.utils import urlutils
from helpers import testutils
diff --git a/tests/end2end/test_invocations.py b/tests/end2end/test_invocations.py
index 0d49ff109..c8218968b 100644
--- a/tests/end2end/test_invocations.py
+++ b/tests/end2end/test_invocations.py
@@ -29,7 +29,7 @@ import json
import platform
import pytest
-from PyQt5.QtCore import QProcess, QPoint
+from qutebrowser.qt.QtCore import QProcess, QPoint
from helpers import testutils
from qutebrowser.utils import qtutils, utils
diff --git a/tests/helpers/fixtures.py b/tests/helpers/fixtures.py
index cc362290f..e44ae4cad 100644
--- a/tests/helpers/fixtures.py
+++ b/tests/helpers/fixtures.py
@@ -37,9 +37,9 @@ import dataclasses
import pytest
import py.path # pylint: disable=no-name-in-module
-from PyQt5.QtCore import QSize, Qt
-from PyQt5.QtWidgets import QWidget, QHBoxLayout, QVBoxLayout
-from PyQt5.QtNetwork import QNetworkCookieJar
+from qutebrowser.qt.QtCore import QSize, Qt
+from qutebrowser.qt.QtWidgets import QWidget, QHBoxLayout, QVBoxLayout
+from qutebrowser.qt.QtNetwork import QNetworkCookieJar
import helpers.stubs as stubsmod
import qutebrowser
@@ -177,7 +177,7 @@ def testdata_scheme(qapp):
try:
global _qute_scheme_handler
from qutebrowser.browser.webengine import webenginequtescheme
- from PyQt5.QtWebEngineWidgets import QWebEngineProfile
+ from qutebrowser.qt.QtWebEngineWidgets import QWebEngineProfile
webenginequtescheme.init()
_qute_scheme_handler = webenginequtescheme.QuteSchemeHandler(
parent=qapp)
@@ -432,7 +432,7 @@ def unicode_encode_err():
@pytest.fixture(scope='session')
def qnam(qapp):
"""Session-wide QNetworkAccessManager."""
- from PyQt5.QtNetwork import QNetworkAccessManager
+ from qutebrowser.qt.QtNetwork import QNetworkAccessManager
nam = QNetworkAccessManager()
nam.setNetworkAccessible(QNetworkAccessManager.NotAccessible)
return nam
diff --git a/tests/helpers/messagemock.py b/tests/helpers/messagemock.py
index 41f0bac64..f9b14f3dc 100644
--- a/tests/helpers/messagemock.py
+++ b/tests/helpers/messagemock.py
@@ -23,7 +23,7 @@ import logging
import dataclasses
import pytest
-from PyQt5.QtCore import pyqtSlot, pyqtSignal, QObject
+from qutebrowser.qt.QtCore import pyqtSlot, pyqtSignal, QObject
from qutebrowser.utils import usertypes, message
diff --git a/tests/helpers/stubs.py b/tests/helpers/stubs.py
index 6998958b8..a4d85da76 100644
--- a/tests/helpers/stubs.py
+++ b/tests/helpers/stubs.py
@@ -30,11 +30,11 @@ import builtins
import importlib
import types
-from PyQt5.QtCore import pyqtSignal, QPoint, QProcess, QObject, QUrl, QByteArray
-from PyQt5.QtGui import QIcon
-from PyQt5.QtNetwork import (QNetworkRequest, QAbstractNetworkCache,
+from qutebrowser.qt.QtCore import pyqtSignal, QPoint, QProcess, QObject, QUrl, QByteArray
+from qutebrowser.qt.QtGui import QIcon
+from qutebrowser.qt.QtNetwork import (QNetworkRequest, QAbstractNetworkCache,
QNetworkCacheMetaData)
-from PyQt5.QtWidgets import QCommonStyle, QLineEdit, QWidget, QTabBar
+from qutebrowser.qt.QtWidgets import QCommonStyle, QLineEdit, QWidget, QTabBar
from qutebrowser.browser import browsertab, downloads
from qutebrowser.utils import usertypes
diff --git a/tests/helpers/testutils.py b/tests/helpers/testutils.py
index c607718ab..64303b83b 100644
--- a/tests/helpers/testutils.py
+++ b/tests/helpers/testutils.py
@@ -31,7 +31,7 @@ import importlib.machinery
import pytest
-from PyQt5.QtGui import QColor
+from qutebrowser.qt.QtGui import QColor
from qutebrowser.utils import qtutils, log, utils, version
@@ -273,10 +273,12 @@ def disable_seccomp_bpf_sandbox():
newer kernels.
"""
try:
- from PyQt5 import QtWebEngine # pylint: disable=unused-import
+ from qutebrowser.qt import QtWebEngine # pylint: disable=unused-import
except ImportError:
# no QtWebEngine available
return False
+ if not QtWebEngine:
+ return False
affected_versions = set()
for base, patch_range in [
diff --git a/tests/unit/browser/test_caret.py b/tests/unit/browser/test_caret.py
index 86014040d..1bdf9b07b 100644
--- a/tests/unit/browser/test_caret.py
+++ b/tests/unit/browser/test_caret.py
@@ -22,7 +22,7 @@
import textwrap
import pytest
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.utils import usertypes
from qutebrowser.browser import browsertab
diff --git a/tests/unit/browser/test_downloadview.py b/tests/unit/browser/test_downloadview.py
index 84b50fad2..914417050 100644
--- a/tests/unit/browser/test_downloadview.py
+++ b/tests/unit/browser/test_downloadview.py
@@ -20,7 +20,7 @@
import pytest
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.browser import downloads, qtnetworkdownloads, downloadview
diff --git a/tests/unit/browser/test_hints.py b/tests/unit/browser/test_hints.py
index 85c0a642c..db8d695b7 100644
--- a/tests/unit/browser/test_hints.py
+++ b/tests/unit/browser/test_hints.py
@@ -23,7 +23,7 @@ import itertools
import operator
import pytest
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.utils import usertypes
import qutebrowser.browser.hints
diff --git a/tests/unit/browser/test_history.py b/tests/unit/browser/test_history.py
index 51a9effb8..1c0942062 100644
--- a/tests/unit/browser/test_history.py
+++ b/tests/unit/browser/test_history.py
@@ -22,7 +22,7 @@
import logging
import pytest
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.browser import history
from qutebrowser.utils import urlutils, usertypes
@@ -304,7 +304,7 @@ class TestInit:
history.web_history.setParent(None)
history.web_history = None
try:
- from PyQt5.QtWebKit import QWebHistoryInterface
+ from qutebrowser.qt.QtWebKit import QWebHistoryInterface
QWebHistoryInterface.setDefaultInterface(None)
except ImportError:
pass
@@ -322,7 +322,7 @@ class TestInit:
assert history.web_history.parent() is qapp
try:
- from PyQt5.QtWebKit import QWebHistoryInterface
+ from qutebrowser.qt.QtWebKit import QWebHistoryInterface
except ImportError:
QWebHistoryInterface = None
diff --git a/tests/unit/browser/test_inspector.py b/tests/unit/browser/test_inspector.py
index 61ac9510d..d4aa69a46 100644
--- a/tests/unit/browser/test_inspector.py
+++ b/tests/unit/browser/test_inspector.py
@@ -19,7 +19,7 @@
import pytest
-from PyQt5.QtWidgets import QWidget
+from qutebrowser.qt.QtWidgets import QWidget
from qutebrowser.browser import inspector
from qutebrowser.misc import miscwidgets
diff --git a/tests/unit/browser/test_navigate.py b/tests/unit/browser/test_navigate.py
index 9813705ca..68ed9d6f0 100644
--- a/tests/unit/browser/test_navigate.py
+++ b/tests/unit/browser/test_navigate.py
@@ -20,7 +20,7 @@
import pytest
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.browser import navigate
from qutebrowser.utils import urlutils
diff --git a/tests/unit/browser/test_pdfjs.py b/tests/unit/browser/test_pdfjs.py
index 86b875be5..6aadd88d4 100644
--- a/tests/unit/browser/test_pdfjs.py
+++ b/tests/unit/browser/test_pdfjs.py
@@ -21,7 +21,7 @@ import logging
import os.path
import pytest
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.browser import pdfjs
from qutebrowser.utils import urlmatch
diff --git a/tests/unit/browser/test_qutescheme.py b/tests/unit/browser/test_qutescheme.py
index 45474102d..70bc6e023 100644
--- a/tests/unit/browser/test_qutescheme.py
+++ b/tests/unit/browser/test_qutescheme.py
@@ -24,7 +24,7 @@ import time
import logging
import py.path # pylint: disable=no-name-in-module
-from PyQt5.QtCore import QUrl, QUrlQuery
+from qutebrowser.qt.QtCore import QUrl, QUrlQuery
import pytest
from qutebrowser.browser import qutescheme, pdfjs, downloads
diff --git a/tests/unit/browser/test_signalfilter.py b/tests/unit/browser/test_signalfilter.py
index 35c7f3557..60d2be4a0 100644
--- a/tests/unit/browser/test_signalfilter.py
+++ b/tests/unit/browser/test_signalfilter.py
@@ -23,7 +23,7 @@ import logging
import dataclasses
import pytest
-from PyQt5.QtCore import pyqtSignal, pyqtSlot, QObject
+from qutebrowser.qt.QtCore import pyqtSignal, pyqtSlot, QObject
from qutebrowser.browser import signalfilter
diff --git a/tests/unit/browser/test_urlmarks.py b/tests/unit/browser/test_urlmarks.py
index 6b8d429a9..873f48cc0 100644
--- a/tests/unit/browser/test_urlmarks.py
+++ b/tests/unit/browser/test_urlmarks.py
@@ -22,7 +22,7 @@
import unittest.mock
import pytest
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.browser import urlmarks
diff --git a/tests/unit/browser/webengine/test_webengine_cookies.py b/tests/unit/browser/webengine/test_webengine_cookies.py
index 1a74dfb3e..1615109bc 100644
--- a/tests/unit/browser/webengine/test_webengine_cookies.py
+++ b/tests/unit/browser/webengine/test_webengine_cookies.py
@@ -18,10 +18,10 @@
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
import pytest
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
pytest.importorskip('PyQt5.QtWebEngineCore')
-from PyQt5.QtWebEngineCore import QWebEngineCookieStore
-from PyQt5.QtWebEngineWidgets import QWebEngineProfile
+from qutebrowser.qt.QtWebEngineCore import QWebEngineCookieStore
+from qutebrowser.qt.QtWebEngineWidgets import QWebEngineProfile
from qutebrowser.browser.webengine import cookies
from qutebrowser.utils import urlmatch
diff --git a/tests/unit/browser/webengine/test_webenginedownloads.py b/tests/unit/browser/webengine/test_webenginedownloads.py
index 877af3c9a..8d1b65ec4 100644
--- a/tests/unit/browser/webengine/test_webenginedownloads.py
+++ b/tests/unit/browser/webengine/test_webenginedownloads.py
@@ -23,7 +23,7 @@ import dataclasses
import pytest
pytest.importorskip('PyQt5.QtWebEngineWidgets')
-from PyQt5.QtWebEngineWidgets import QWebEngineProfile
+from qutebrowser.qt.QtWebEngineWidgets import QWebEngineProfile
from qutebrowser.utils import urlutils, usertypes, utils
from qutebrowser.browser.webengine import webenginedownloads
diff --git a/tests/unit/browser/webengine/test_webengineinterceptor.py b/tests/unit/browser/webengine/test_webengineinterceptor.py
index eb71e0c6e..8c57cf8d4 100644
--- a/tests/unit/browser/webengine/test_webengineinterceptor.py
+++ b/tests/unit/browser/webengine/test_webengineinterceptor.py
@@ -24,7 +24,7 @@ import pytest
pytest.importorskip('PyQt5.QtWebEngineWidgets')
-from PyQt5.QtWebEngineCore import QWebEngineUrlRequestInfo
+from qutebrowser.qt.QtWebEngineCore import QWebEngineUrlRequestInfo
from qutebrowser.browser.webengine import interceptor
diff --git a/tests/unit/browser/webkit/http/test_http.py b/tests/unit/browser/webkit/http/test_http.py
index 4db78f4ff..d4bd0fcf9 100644
--- a/tests/unit/browser/webkit/http/test_http.py
+++ b/tests/unit/browser/webkit/http/test_http.py
@@ -24,7 +24,7 @@ import logging
import pytest
import hypothesis
from hypothesis import strategies
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.browser.webkit import http
diff --git a/tests/unit/browser/webkit/network/test_filescheme.py b/tests/unit/browser/webkit/network/test_filescheme.py
index 12cacb5a2..e08fd6750 100644
--- a/tests/unit/browser/webkit/network/test_filescheme.py
+++ b/tests/unit/browser/webkit/network/test_filescheme.py
@@ -24,8 +24,8 @@ from typing import List
import pytest
import bs4
-from PyQt5.QtCore import QUrl
-from PyQt5.QtNetwork import QNetworkRequest
+from qutebrowser.qt.QtCore import QUrl
+from qutebrowser.qt.QtNetwork import QNetworkRequest
from qutebrowser.browser.webkit.network import filescheme
from qutebrowser.utils import urlutils, utils
diff --git a/tests/unit/browser/webkit/network/test_networkreply.py b/tests/unit/browser/webkit/network/test_networkreply.py
index 3cffb2fd7..c677d8640 100644
--- a/tests/unit/browser/webkit/network/test_networkreply.py
+++ b/tests/unit/browser/webkit/network/test_networkreply.py
@@ -21,8 +21,8 @@
import pytest
-from PyQt5.QtCore import QUrl, QIODevice
-from PyQt5.QtNetwork import QNetworkRequest, QNetworkReply
+from qutebrowser.qt.QtCore import QUrl, QIODevice
+from qutebrowser.qt.QtNetwork import QNetworkRequest, QNetworkReply
from qutebrowser.browser.webkit.network import networkreply
diff --git a/tests/unit/browser/webkit/network/test_pac.py b/tests/unit/browser/webkit/network/test_pac.py
index 79b34be9a..1db47357c 100644
--- a/tests/unit/browser/webkit/network/test_pac.py
+++ b/tests/unit/browser/webkit/network/test_pac.py
@@ -22,8 +22,8 @@ import threading
import logging
import pytest
-from PyQt5.QtCore import QUrl
-from PyQt5.QtNetwork import (QNetworkProxy, QNetworkProxyQuery, QHostInfo,
+from qutebrowser.qt.QtCore import QUrl
+from qutebrowser.qt.QtNetwork import (QNetworkProxy, QNetworkProxyQuery, QHostInfo,
QHostAddress)
from qutebrowser.browser.network import pac
diff --git a/tests/unit/browser/webkit/test_cache.py b/tests/unit/browser/webkit/test_cache.py
index 83d5054d7..ea76aeabd 100644
--- a/tests/unit/browser/webkit/test_cache.py
+++ b/tests/unit/browser/webkit/test_cache.py
@@ -19,8 +19,8 @@
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
import pytest
-from PyQt5.QtCore import QUrl, QDateTime
-from PyQt5.QtNetwork import QNetworkDiskCache, QNetworkCacheMetaData
+from qutebrowser.qt.QtCore import QUrl, QDateTime
+from qutebrowser.qt.QtNetwork import QNetworkDiskCache, QNetworkCacheMetaData
from qutebrowser.browser.webkit import cache
diff --git a/tests/unit/browser/webkit/test_certificateerror.py b/tests/unit/browser/webkit/test_certificateerror.py
index e615854ca..3e240063c 100644
--- a/tests/unit/browser/webkit/test_certificateerror.py
+++ b/tests/unit/browser/webkit/test_certificateerror.py
@@ -18,7 +18,7 @@
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
import pytest
-from PyQt5.QtNetwork import QSslError
+from qutebrowser.qt.QtNetwork import QSslError
from qutebrowser.browser.webkit import certificateerror
diff --git a/tests/unit/browser/webkit/test_cookies.py b/tests/unit/browser/webkit/test_cookies.py
index 81da561ce..76a99fdd9 100644
--- a/tests/unit/browser/webkit/test_cookies.py
+++ b/tests/unit/browser/webkit/test_cookies.py
@@ -18,8 +18,8 @@
# You should have received a copy of the GNU General Public License
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
-from PyQt5.QtNetwork import QNetworkCookie
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtNetwork import QNetworkCookie
+from qutebrowser.qt.QtCore import QUrl
import pytest
from qutebrowser.browser.webkit import cookies
diff --git a/tests/unit/browser/webkit/test_tabhistory.py b/tests/unit/browser/webkit/test_tabhistory.py
index d1c4a25a4..0db2bc835 100644
--- a/tests/unit/browser/webkit/test_tabhistory.py
+++ b/tests/unit/browser/webkit/test_tabhistory.py
@@ -24,8 +24,8 @@ from typing import Any
import pytest
pytest.importorskip('PyQt5.QtWebKit')
-from PyQt5.QtCore import QUrl, QPoint
-from PyQt5.QtWebKit import QWebHistory
+from qutebrowser.qt.QtCore import QUrl, QPoint
+from qutebrowser.qt.QtWebKit import QWebHistory
from qutebrowser.browser.webkit import tabhistory
from qutebrowser.misc.sessions import TabHistoryItem as Item
diff --git a/tests/unit/browser/webkit/test_webkitelem.py b/tests/unit/browser/webkit/test_webkitelem.py
index f7cc3e8c2..6d8a71d0d 100644
--- a/tests/unit/browser/webkit/test_webkitelem.py
+++ b/tests/unit/browser/webkit/test_webkitelem.py
@@ -27,7 +27,7 @@ import itertools
import dataclasses
import pytest
-from PyQt5.QtCore import QRect, QPoint, QUrl
+from qutebrowser.qt.QtCore import QRect, QPoint, QUrl
QWebElement = pytest.importorskip('PyQt5.QtWebKit').QWebElement
from qutebrowser.browser import browsertab
diff --git a/tests/unit/commands/test_argparser.py b/tests/unit/commands/test_argparser.py
index cfa94c552..7644a6a6d 100644
--- a/tests/unit/commands/test_argparser.py
+++ b/tests/unit/commands/test_argparser.py
@@ -23,7 +23,7 @@ import inspect
import enum
import pytest
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.commands import argparser, cmdexc
diff --git a/tests/unit/commands/test_userscripts.py b/tests/unit/commands/test_userscripts.py
index 436e9e2a7..7dd2baf78 100644
--- a/tests/unit/commands/test_userscripts.py
+++ b/tests/unit/commands/test_userscripts.py
@@ -25,7 +25,7 @@ import logging
import signal
import pytest
-from PyQt5.QtCore import QFileSystemWatcher
+from qutebrowser.qt.QtCore import QFileSystemWatcher
from qutebrowser.commands import userscripts
from qutebrowser.utils import utils
diff --git a/tests/unit/completion/test_completer.py b/tests/unit/completion/test_completer.py
index 467357d32..f92aee57c 100644
--- a/tests/unit/completion/test_completer.py
+++ b/tests/unit/completion/test_completer.py
@@ -22,8 +22,8 @@
import unittest.mock
import pytest
-from PyQt5.QtCore import QObject
-from PyQt5.QtGui import QStandardItemModel
+from qutebrowser.qt.QtCore import QObject
+from qutebrowser.qt.QtGui import QStandardItemModel
from qutebrowser.completion import completer
from qutebrowser.commands import command
diff --git a/tests/unit/completion/test_completiondelegate.py b/tests/unit/completion/test_completiondelegate.py
index ad081ccbf..46e39c2d5 100644
--- a/tests/unit/completion/test_completiondelegate.py
+++ b/tests/unit/completion/test_completiondelegate.py
@@ -21,9 +21,9 @@ from unittest import mock
import hypothesis
import hypothesis.strategies
import pytest
-from PyQt5.QtCore import Qt
-from PyQt5.QtGui import QTextDocument, QColor
-from PyQt5.QtWidgets import QTextEdit
+from qutebrowser.qt.QtCore import Qt
+from qutebrowser.qt.QtGui import QTextDocument, QColor
+from qutebrowser.qt.QtWidgets import QTextEdit
from qutebrowser.completion import completiondelegate
diff --git a/tests/unit/completion/test_completionmodel.py b/tests/unit/completion/test_completionmodel.py
index 2130f1f1c..6f9cf7f74 100644
--- a/tests/unit/completion/test_completionmodel.py
+++ b/tests/unit/completion/test_completionmodel.py
@@ -24,7 +24,7 @@ import hypothesis
from hypothesis import strategies
import pytest
-from PyQt5.QtCore import QModelIndex
+from qutebrowser.qt.QtCore import QModelIndex
from qutebrowser.completion.models import completionmodel, listcategory
from qutebrowser.utils import qtutils
diff --git a/tests/unit/completion/test_completionwidget.py b/tests/unit/completion/test_completionwidget.py
index 074228332..b43fef07d 100644
--- a/tests/unit/completion/test_completionwidget.py
+++ b/tests/unit/completion/test_completionwidget.py
@@ -22,7 +22,7 @@
from unittest import mock
import pytest
-from PyQt5.QtCore import QRect
+from qutebrowser.qt.QtCore import QRect
from qutebrowser.completion import completionwidget
from qutebrowser.completion.models import completionmodel, listcategory
diff --git a/tests/unit/completion/test_models.py b/tests/unit/completion/test_models.py
index 2c00acf68..fbdc56e65 100644
--- a/tests/unit/completion/test_models.py
+++ b/tests/unit/completion/test_models.py
@@ -31,9 +31,9 @@ from unittest import mock
import hypothesis
import hypothesis.strategies as hst
import pytest
-from PyQt5.QtCore import QUrl, QDateTime, QProcess
+from qutebrowser.qt.QtCore import QUrl, QDateTime, QProcess
try:
- from PyQt5.QtWebEngineWidgets import (
+ from qutebrowser.qt.QtWebEngineWidgets import (
QWebEngineHistory, QWebEngineHistoryItem
)
except ImportError:
diff --git a/tests/unit/components/test_blockutils.py b/tests/unit/components/test_blockutils.py
index 08d8cee60..13f091852 100644
--- a/tests/unit/components/test_blockutils.py
+++ b/tests/unit/components/test_blockutils.py
@@ -21,7 +21,7 @@
import io
from typing import IO
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
import pytest
diff --git a/tests/unit/components/test_braveadblock.py b/tests/unit/components/test_braveadblock.py
index fc50cb595..751c4221d 100644
--- a/tests/unit/components/test_braveadblock.py
+++ b/tests/unit/components/test_braveadblock.py
@@ -22,7 +22,7 @@ import logging
import csv
from typing import Iterable, Tuple
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
import pytest
diff --git a/tests/unit/components/test_hostblock.py b/tests/unit/components/test_hostblock.py
index 5949f92f8..74d4a8f6b 100644
--- a/tests/unit/components/test_hostblock.py
+++ b/tests/unit/components/test_hostblock.py
@@ -24,7 +24,7 @@ import logging
import pytest
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.components import hostblock
from qutebrowser.utils import urlmatch
diff --git a/tests/unit/components/test_readlinecommands.py b/tests/unit/components/test_readlinecommands.py
index af815b075..720d6f12a 100644
--- a/tests/unit/components/test_readlinecommands.py
+++ b/tests/unit/components/test_readlinecommands.py
@@ -21,7 +21,7 @@ import os
import re
import inspect
-from PyQt5.QtWidgets import QLineEdit, QApplication
+from qutebrowser.qt.QtWidgets import QLineEdit, QApplication
import pytest
from qutebrowser.components import readlinecommands
diff --git a/tests/unit/config/test_config.py b/tests/unit/config/test_config.py
index b88bc2f8d..865be8bb6 100644
--- a/tests/unit/config/test_config.py
+++ b/tests/unit/config/test_config.py
@@ -23,8 +23,8 @@ import unittest.mock
import functools
import pytest
-from PyQt5.QtCore import QUrl
-from PyQt5.QtGui import QColor
+from qutebrowser.qt.QtCore import QUrl
+from qutebrowser.qt.QtGui import QColor
from qutebrowser.config import config, configdata, configexc
from qutebrowser.utils import usertypes, urlmatch
diff --git a/tests/unit/config/test_configcommands.py b/tests/unit/config/test_configcommands.py
index 6dd09cee3..52f115979 100644
--- a/tests/unit/config/test_configcommands.py
+++ b/tests/unit/config/test_configcommands.py
@@ -23,7 +23,7 @@ import functools
import unittest.mock
import pytest
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.config import configcommands
from qutebrowser.api import cmdutils
diff --git a/tests/unit/config/test_configfiles.py b/tests/unit/config/test_configfiles.py
index 760992e15..258612dbe 100644
--- a/tests/unit/config/test_configfiles.py
+++ b/tests/unit/config/test_configfiles.py
@@ -25,7 +25,7 @@ import textwrap
import logging
import pytest
-from PyQt5.QtCore import QSettings
+from qutebrowser.qt.QtCore import QSettings
from qutebrowser.config import (config, configfiles, configexc, configdata,
configtypes)
@@ -167,7 +167,7 @@ def state_writer(data_tmpdir):
@pytest.fixture
def qtwe_version_patcher(monkeypatch):
try:
- from PyQt5 import QtWebEngineWidgets # pylint: disable=unused-import
+ from qutebrowser.qt import QtWebEngineWidgets # pylint: disable=unused-import
except ImportError:
pytest.skip("QtWebEngine not available")
diff --git a/tests/unit/config/test_configtypes.py b/tests/unit/config/test_configtypes.py
index c34efce54..b65dfca44 100644
--- a/tests/unit/config/test_configtypes.py
+++ b/tests/unit/config/test_configtypes.py
@@ -29,9 +29,9 @@ import dataclasses
import pytest
import hypothesis
from hypothesis import strategies
-from PyQt5.QtCore import QUrl
-from PyQt5.QtGui import QColor, QFont
-from PyQt5.QtNetwork import QNetworkProxy
+from qutebrowser.qt.QtCore import QUrl
+from qutebrowser.qt.QtGui import QColor, QFont
+from qutebrowser.qt.QtNetwork import QNetworkProxy
from qutebrowser.misc import objects
from qutebrowser.config import configtypes, configexc
diff --git a/tests/unit/config/test_configutils.py b/tests/unit/config/test_configutils.py
index 3fc5cd561..2a7fef8b4 100644
--- a/tests/unit/config/test_configutils.py
+++ b/tests/unit/config/test_configutils.py
@@ -20,8 +20,8 @@
import hypothesis
from hypothesis import strategies
import pytest
-from PyQt5.QtCore import QUrl
-from PyQt5.QtWidgets import QLabel
+from qutebrowser.qt.QtCore import QUrl
+from qutebrowser.qt.QtWidgets import QLabel
from qutebrowser.config import configutils, configdata, configtypes, configexc
from qutebrowser.utils import urlmatch, usertypes, qtutils
diff --git a/tests/unit/config/test_qtargs_locale_workaround.py b/tests/unit/config/test_qtargs_locale_workaround.py
index 4a4152b80..a1df3a693 100644
--- a/tests/unit/config/test_qtargs_locale_workaround.py
+++ b/tests/unit/config/test_qtargs_locale_workaround.py
@@ -20,7 +20,7 @@ import os
import pathlib
import pytest
-from PyQt5.QtCore import QLocale
+from qutebrowser.qt.QtCore import QLocale
from qutebrowser.utils import utils
from qutebrowser.config import qtargs
diff --git a/tests/unit/config/test_stylesheet.py b/tests/unit/config/test_stylesheet.py
index 4ffa107ed..252f0f9c4 100644
--- a/tests/unit/config/test_stylesheet.py
+++ b/tests/unit/config/test_stylesheet.py
@@ -18,7 +18,7 @@
import pytest
-from PyQt5.QtCore import QObject
+from qutebrowser.qt.QtCore import QObject
from qutebrowser.config import stylesheet
diff --git a/tests/unit/javascript/conftest.py b/tests/unit/javascript/conftest.py
index 4a7f09204..43b9ca993 100644
--- a/tests/unit/javascript/conftest.py
+++ b/tests/unit/javascript/conftest.py
@@ -23,7 +23,7 @@ import pathlib
import pytest
import jinja2
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
import qutebrowser
from qutebrowser.utils import usertypes
diff --git a/tests/unit/javascript/test_greasemonkey.py b/tests/unit/javascript/test_greasemonkey.py
index 17847816d..f418c824c 100644
--- a/tests/unit/javascript/test_greasemonkey.py
+++ b/tests/unit/javascript/test_greasemonkey.py
@@ -23,7 +23,7 @@ import textwrap
import pytest
import py.path # pylint: disable=no-name-in-module
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.utils import usertypes, version
from qutebrowser.browser import greasemonkey
diff --git a/tests/unit/javascript/test_js_execution.py b/tests/unit/javascript/test_js_execution.py
index e371e0f36..9f1767048 100644
--- a/tests/unit/javascript/test_js_execution.py
+++ b/tests/unit/javascript/test_js_execution.py
@@ -28,7 +28,7 @@ def test_simple_js_webkit(webview, js_enabled, expected):
"""With QtWebKit, evaluateJavaScript works when JS is on."""
# If we get there (because of the webview fixture) we can be certain
# QtWebKit is available
- from PyQt5.QtWebKit import QWebSettings
+ from qutebrowser.qt.QtWebKit import QWebSettings
webview.settings().setAttribute(QWebSettings.JavascriptEnabled, js_enabled)
result = webview.page().mainFrame().evaluateJavaScript('1 + 1')
assert result == expected
@@ -39,7 +39,7 @@ def test_element_js_webkit(webview, js_enabled, expected):
"""With QtWebKit, evaluateJavaScript on an element works with JS off."""
# If we get there (because of the webview fixture) we can be certain
# QtWebKit is available
- from PyQt5.QtWebKit import QWebSettings
+ from qutebrowser.qt.QtWebKit import QWebSettings
webview.settings().setAttribute(QWebSettings.JavascriptEnabled, js_enabled)
elem = webview.page().mainFrame().documentElement()
result = elem.evaluateJavaScript('1 + 1')
@@ -63,7 +63,7 @@ def test_simple_js_webengine(qtbot, webengineview, qapp,
"""With QtWebEngine, runJavaScript works even when JS is off."""
# If we get there (because of the webengineview fixture) we can be certain
# QtWebEngine is available
- from PyQt5.QtWebEngineWidgets import QWebEngineSettings, QWebEngineScript
+ from qutebrowser.qt.QtWebEngineWidgets import QWebEngineSettings, QWebEngineScript
assert world in [QWebEngineScript.MainWorld,
QWebEngineScript.ApplicationWorld,
diff --git a/tests/unit/javascript/test_js_quirks.py b/tests/unit/javascript/test_js_quirks.py
index 7036dcfc9..933bb229e 100644
--- a/tests/unit/javascript/test_js_quirks.py
+++ b/tests/unit/javascript/test_js_quirks.py
@@ -26,7 +26,7 @@ the native functionality exists.
import pytest
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.utils import usertypes
diff --git a/tests/unit/keyinput/key_data.py b/tests/unit/keyinput/key_data.py
index c451d2534..38b548400 100644
--- a/tests/unit/keyinput/key_data.py
+++ b/tests/unit/keyinput/key_data.py
@@ -25,7 +25,7 @@
import dataclasses
from typing import Optional
-from PyQt5.QtCore import Qt
+from qutebrowser.qt.QtCore import Qt
@dataclasses.dataclass(order=True)
diff --git a/tests/unit/keyinput/test_basekeyparser.py b/tests/unit/keyinput/test_basekeyparser.py
index 84068bf47..cb951a74a 100644
--- a/tests/unit/keyinput/test_basekeyparser.py
+++ b/tests/unit/keyinput/test_basekeyparser.py
@@ -21,7 +21,7 @@
from unittest import mock
-from PyQt5.QtCore import Qt
+from qutebrowser.qt.QtCore import Qt
import pytest
from qutebrowser.keyinput import basekeyparser, keyutils
diff --git a/tests/unit/keyinput/test_bindingtrie.py b/tests/unit/keyinput/test_bindingtrie.py
index c769386c0..a89c62800 100644
--- a/tests/unit/keyinput/test_bindingtrie.py
+++ b/tests/unit/keyinput/test_bindingtrie.py
@@ -25,7 +25,7 @@ import textwrap
import pytest
-from PyQt5.QtGui import QKeySequence
+from qutebrowser.qt.QtGui import QKeySequence
from qutebrowser.keyinput import basekeyparser
from qutebrowser.keyinput import keyutils
diff --git a/tests/unit/keyinput/test_keyutils.py b/tests/unit/keyinput/test_keyutils.py
index 195518127..5a876ab2b 100644
--- a/tests/unit/keyinput/test_keyutils.py
+++ b/tests/unit/keyinput/test_keyutils.py
@@ -22,9 +22,9 @@ import operator
import hypothesis
from hypothesis import strategies
import pytest
-from PyQt5.QtCore import Qt, QEvent, pyqtSignal
-from PyQt5.QtGui import QKeyEvent, QKeySequence
-from PyQt5.QtWidgets import QWidget
+from qutebrowser.qt.QtCore import Qt, QEvent, pyqtSignal
+from qutebrowser.qt.QtGui import QKeyEvent, QKeySequence
+from qutebrowser.qt.QtWidgets import QWidget
from unit.keyinput import key_data
from qutebrowser.keyinput import keyutils
diff --git a/tests/unit/keyinput/test_modeman.py b/tests/unit/keyinput/test_modeman.py
index 8cc298f87..08afbe8cb 100644
--- a/tests/unit/keyinput/test_modeman.py
+++ b/tests/unit/keyinput/test_modeman.py
@@ -19,7 +19,7 @@
import pytest
-from PyQt5.QtCore import Qt, QObject, pyqtSignal
+from qutebrowser.qt.QtCore import Qt, QObject, pyqtSignal
from qutebrowser.utils import usertypes
from qutebrowser.keyinput import keyutils
diff --git a/tests/unit/keyinput/test_modeparsers.py b/tests/unit/keyinput/test_modeparsers.py
index ff3758362..93f3b6df2 100644
--- a/tests/unit/keyinput/test_modeparsers.py
+++ b/tests/unit/keyinput/test_modeparsers.py
@@ -19,8 +19,8 @@
"""Tests for mode parsers."""
-from PyQt5.QtCore import Qt
-from PyQt5.QtGui import QKeySequence
+from qutebrowser.qt.QtCore import Qt
+from qutebrowser.qt.QtGui import QKeySequence
import pytest
diff --git a/tests/unit/mainwindow/statusbar/test_textbase.py b/tests/unit/mainwindow/statusbar/test_textbase.py
index 33c4ffd76..015d53394 100644
--- a/tests/unit/mainwindow/statusbar/test_textbase.py
+++ b/tests/unit/mainwindow/statusbar/test_textbase.py
@@ -19,7 +19,7 @@
"""Test TextBase widget."""
-from PyQt5.QtCore import Qt
+from qutebrowser.qt.QtCore import Qt
import pytest
from qutebrowser.mainwindow.statusbar.textbase import TextBase
diff --git a/tests/unit/mainwindow/statusbar/test_url.py b/tests/unit/mainwindow/statusbar/test_url.py
index efe4d6f93..75b79868b 100644
--- a/tests/unit/mainwindow/statusbar/test_url.py
+++ b/tests/unit/mainwindow/statusbar/test_url.py
@@ -22,7 +22,7 @@
import pytest
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.utils import usertypes, urlutils
from qutebrowser.mainwindow.statusbar import url
diff --git a/tests/unit/mainwindow/test_messageview.py b/tests/unit/mainwindow/test_messageview.py
index 9e7627635..5e0afe4ca 100644
--- a/tests/unit/mainwindow/test_messageview.py
+++ b/tests/unit/mainwindow/test_messageview.py
@@ -18,7 +18,7 @@
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
import pytest
-from PyQt5.QtCore import Qt
+from qutebrowser.qt.QtCore import Qt
from qutebrowser.mainwindow import messageview
from qutebrowser.utils import usertypes
diff --git a/tests/unit/mainwindow/test_prompt.py b/tests/unit/mainwindow/test_prompt.py
index 3218959a5..c6268506c 100644
--- a/tests/unit/mainwindow/test_prompt.py
+++ b/tests/unit/mainwindow/test_prompt.py
@@ -20,7 +20,7 @@
import os
import pytest
-from PyQt5.QtCore import Qt
+from qutebrowser.qt.QtCore import Qt
from qutebrowser.mainwindow import prompt as promptmod
from qutebrowser.utils import usertypes
diff --git a/tests/unit/mainwindow/test_tabwidget.py b/tests/unit/mainwindow/test_tabwidget.py
index 564ca1b38..bec5cb30d 100644
--- a/tests/unit/mainwindow/test_tabwidget.py
+++ b/tests/unit/mainwindow/test_tabwidget.py
@@ -23,7 +23,7 @@
import functools
import pytest
-from PyQt5.QtGui import QIcon, QPixmap
+from qutebrowser.qt.QtGui import QIcon, QPixmap
from qutebrowser.mainwindow import tabwidget
from qutebrowser.utils import usertypes
diff --git a/tests/unit/misc/test_autoupdate.py b/tests/unit/misc/test_autoupdate.py
index f7cf78248..ae02919db 100644
--- a/tests/unit/misc/test_autoupdate.py
+++ b/tests/unit/misc/test_autoupdate.py
@@ -21,7 +21,7 @@
"""Tests for qutebrowser.misc.autoupdate."""
import pytest
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.misc import autoupdate, httpclient
diff --git a/tests/unit/misc/test_editor.py b/tests/unit/misc/test_editor.py
index 91bdce26b..382264235 100644
--- a/tests/unit/misc/test_editor.py
+++ b/tests/unit/misc/test_editor.py
@@ -26,7 +26,7 @@ import os
import logging
import pytest
-from PyQt5.QtCore import QProcess
+from qutebrowser.qt.QtCore import QProcess
from qutebrowser.misc import editor as editormod
from qutebrowser.utils import usertypes
diff --git a/tests/unit/misc/test_guiprocess.py b/tests/unit/misc/test_guiprocess.py
index aaff5154e..a141fd7e5 100644
--- a/tests/unit/misc/test_guiprocess.py
+++ b/tests/unit/misc/test_guiprocess.py
@@ -23,7 +23,7 @@ import sys
import logging
import pytest
-from PyQt5.QtCore import QProcess, QUrl
+from qutebrowser.qt.QtCore import QProcess, QUrl
from qutebrowser.misc import guiprocess
from qutebrowser.utils import usertypes, utils, version
diff --git a/tests/unit/misc/test_ipc.py b/tests/unit/misc/test_ipc.py
index 51d7c6343..50bf28cb6 100644
--- a/tests/unit/misc/test_ipc.py
+++ b/tests/unit/misc/test_ipc.py
@@ -30,9 +30,9 @@ from unittest import mock
from typing import Optional, List
import pytest
-from PyQt5.QtCore import pyqtSignal, QObject
-from PyQt5.QtNetwork import QLocalServer, QLocalSocket, QAbstractSocket
-from PyQt5.QtTest import QSignalSpy
+from qutebrowser.qt.QtCore import pyqtSignal, QObject
+from qutebrowser.qt.QtNetwork import QLocalServer, QLocalSocket, QAbstractSocket
+from qutebrowser.qt.QtTest import QSignalSpy
import qutebrowser
from qutebrowser.misc import ipc
diff --git a/tests/unit/misc/test_miscwidgets.py b/tests/unit/misc/test_miscwidgets.py
index 3c5c1eef1..f0779399b 100644
--- a/tests/unit/misc/test_miscwidgets.py
+++ b/tests/unit/misc/test_miscwidgets.py
@@ -19,8 +19,8 @@
import logging
-from PyQt5.QtCore import Qt, QSize
-from PyQt5.QtWidgets import QWidget
+from qutebrowser.qt.QtCore import Qt, QSize
+from qutebrowser.qt.QtWidgets import QWidget
import pytest
from qutebrowser.misc import miscwidgets
diff --git a/tests/unit/misc/test_msgbox.py b/tests/unit/misc/test_msgbox.py
index c5c23639a..ae27cd364 100644
--- a/tests/unit/misc/test_msgbox.py
+++ b/tests/unit/misc/test_msgbox.py
@@ -20,8 +20,8 @@
import pytest
-from PyQt5.QtCore import Qt
-from PyQt5.QtWidgets import QMessageBox, QWidget
+from qutebrowser.qt.QtCore import Qt
+from qutebrowser.qt.QtWidgets import QMessageBox, QWidget
from qutebrowser.misc import msgbox
from qutebrowser.utils import utils
diff --git a/tests/unit/misc/test_pastebin.py b/tests/unit/misc/test_pastebin.py
index 7a47e723c..b9037a463 100644
--- a/tests/unit/misc/test_pastebin.py
+++ b/tests/unit/misc/test_pastebin.py
@@ -19,7 +19,7 @@
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
import pytest
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.misc import httpclient, pastebin
diff --git a/tests/unit/misc/test_sessions.py b/tests/unit/misc/test_sessions.py
index f77982e5f..bbdf77b59 100644
--- a/tests/unit/misc/test_sessions.py
+++ b/tests/unit/misc/test_sessions.py
@@ -23,7 +23,7 @@ import logging
import pytest
import yaml
-from PyQt5.QtCore import QUrl, QPoint, QByteArray, QObject
+from qutebrowser.qt.QtCore import QUrl, QPoint, QByteArray, QObject
QWebView = pytest.importorskip('PyQt5.QtWebKitWidgets').QWebView
from qutebrowser.misc import sessions
diff --git a/tests/unit/misc/test_sql.py b/tests/unit/misc/test_sql.py
index 80ab7513c..69e14bbc4 100644
--- a/tests/unit/misc/test_sql.py
+++ b/tests/unit/misc/test_sql.py
@@ -23,7 +23,7 @@ import pytest
import hypothesis
from hypothesis import strategies
-from PyQt5.QtSql import QSqlDatabase, QSqlError, QSqlQuery
+from qutebrowser.qt.QtSql import QSqlDatabase, QSqlError, QSqlQuery
from qutebrowser.misc import sql
diff --git a/tests/unit/misc/test_throttle.py b/tests/unit/misc/test_throttle.py
index 33e9949f2..0105eb0cc 100644
--- a/tests/unit/misc/test_throttle.py
+++ b/tests/unit/misc/test_throttle.py
@@ -23,7 +23,7 @@ from unittest import mock
import sip
import pytest
-from PyQt5.QtCore import QObject
+from qutebrowser.qt.QtCore import QObject
from helpers import testutils
from qutebrowser.misc import throttle
diff --git a/tests/unit/misc/test_utilcmds.py b/tests/unit/misc/test_utilcmds.py
index 76bc015d2..5534b6379 100644
--- a/tests/unit/misc/test_utilcmds.py
+++ b/tests/unit/misc/test_utilcmds.py
@@ -20,7 +20,7 @@
"""Tests for qutebrowser.misc.utilcmds."""
import pytest
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.misc import utilcmds
from qutebrowser.api import cmdutils
diff --git a/tests/unit/test_app.py b/tests/unit/test_app.py
index e359f2136..4edf93ef4 100644
--- a/tests/unit/test_app.py
+++ b/tests/unit/test_app.py
@@ -19,7 +19,7 @@
"""Tests for the qutebrowser.app module."""
-from PyQt5.QtCore import QBuffer
+from qutebrowser.qt.QtCore import QBuffer
from qutebrowser.misc import objects
from qutebrowser import app
diff --git a/tests/unit/utils/test_debug.py b/tests/unit/utils/test_debug.py
index 62d0f4a7b..236ac4cf5 100644
--- a/tests/unit/utils/test_debug.py
+++ b/tests/unit/utils/test_debug.py
@@ -25,8 +25,8 @@ import time
import textwrap
import pytest
-from PyQt5.QtCore import pyqtSignal, Qt, QEvent, QObject, QTimer
-from PyQt5.QtWidgets import QStyle, QFrame, QSpinBox
+from qutebrowser.qt.QtCore import pyqtSignal, Qt, QEvent, QObject, QTimer
+from qutebrowser.qt.QtWidgets import QStyle, QFrame, QSpinBox
from qutebrowser.utils import debug
from qutebrowser.misc import objects
diff --git a/tests/unit/utils/test_error.py b/tests/unit/utils/test_error.py
index b59a7150b..682926af8 100644
--- a/tests/unit/utils/test_error.py
+++ b/tests/unit/utils/test_error.py
@@ -21,8 +21,8 @@
import logging
import pytest
-from PyQt5.QtCore import QTimer
-from PyQt5.QtWidgets import QMessageBox
+from qutebrowser.qt.QtCore import QTimer
+from qutebrowser.qt.QtWidgets import QMessageBox
from qutebrowser.utils import error, utils
from qutebrowser.misc import ipc
diff --git a/tests/unit/utils/test_jinja.py b/tests/unit/utils/test_jinja.py
index 85be8a6e3..e01445b8c 100644
--- a/tests/unit/utils/test_jinja.py
+++ b/tests/unit/utils/test_jinja.py
@@ -24,7 +24,7 @@ import logging
import jinja2.exceptions
import pytest
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.utils import jinja
from qutebrowser.config import configexc
diff --git a/tests/unit/utils/test_log.py b/tests/unit/utils/test_log.py
index bbc6b02db..a4fd22f4f 100644
--- a/tests/unit/utils/test_log.py
+++ b/tests/unit/utils/test_log.py
@@ -28,7 +28,7 @@ import dataclasses
import pytest
import _pytest.logging # pylint: disable=import-private-name
-from PyQt5 import QtCore
+from qutebrowser.qt import QtCore
from qutebrowser import qutebrowser
from qutebrowser.utils import log
diff --git a/tests/unit/utils/test_qtutils.py b/tests/unit/utils/test_qtutils.py
index ad9adf032..363717bf7 100644
--- a/tests/unit/utils/test_qtutils.py
+++ b/tests/unit/utils/test_qtutils.py
@@ -28,9 +28,9 @@ import unittest
import unittest.mock
import pytest
-from PyQt5.QtCore import (QDataStream, QPoint, QUrl, QByteArray, QIODevice,
+from qutebrowser.qt.QtCore import (QDataStream, QPoint, QUrl, QByteArray, QIODevice,
QTimer, QBuffer, QFile, QProcess, QFileDevice)
-from PyQt5.QtGui import QColor
+from qutebrowser.qt.QtGui import QColor
from qutebrowser.utils import qtutils, utils, usertypes
import overflow_test_cases
diff --git a/tests/unit/utils/test_standarddir.py b/tests/unit/utils/test_standarddir.py
index 0ca635ae2..27f095d62 100644
--- a/tests/unit/utils/test_standarddir.py
+++ b/tests/unit/utils/test_standarddir.py
@@ -28,7 +28,7 @@ import textwrap
import logging
import subprocess
-from PyQt5.QtCore import QStandardPaths
+from qutebrowser.qt.QtCore import QStandardPaths
import pytest
from qutebrowser.utils import standarddir, utils, qtutils, version
@@ -471,7 +471,7 @@ def test_no_qapplication(qapp, tmpdir, monkeypatch):
sys.path = sys.argv[1:] # make sure we have the same python path
- from PyQt5.QtWidgets import QApplication
+ from qutebrowser.qt.QtWidgets import QApplication
from qutebrowser.utils import standarddir
assert QApplication.instance() is None
diff --git a/tests/unit/utils/test_urlmatch.py b/tests/unit/utils/test_urlmatch.py
index caf52c76d..852814174 100644
--- a/tests/unit/utils/test_urlmatch.py
+++ b/tests/unit/utils/test_urlmatch.py
@@ -33,7 +33,7 @@ import string
import pytest
import hypothesis
import hypothesis.strategies as hst
-from PyQt5.QtCore import QUrl
+from qutebrowser.qt.QtCore import QUrl
from qutebrowser.utils import urlmatch
diff --git a/tests/unit/utils/test_urlutils.py b/tests/unit/utils/test_urlutils.py
index e5773e25e..1bec291d8 100644
--- a/tests/unit/utils/test_urlutils.py
+++ b/tests/unit/utils/test_urlutils.py
@@ -24,8 +24,8 @@ import logging
import dataclasses
import urllib.parse
-from PyQt5.QtCore import QUrl
-from PyQt5.QtNetwork import QNetworkProxy
+from qutebrowser.qt.QtCore import QUrl
+from qutebrowser.qt.QtNetwork import QNetworkProxy
import pytest
import hypothesis
import hypothesis.strategies
diff --git a/tests/unit/utils/test_utils.py b/tests/unit/utils/test_utils.py
index 4620c2198..51bab2567 100644
--- a/tests/unit/utils/test_utils.py
+++ b/tests/unit/utils/test_utils.py
@@ -30,8 +30,8 @@ import shlex
import math
import operator
-from PyQt5.QtCore import QUrl, QRect
-from PyQt5.QtGui import QClipboard
+from qutebrowser.qt.QtCore import QUrl, QRect
+from qutebrowser.qt.QtGui import QClipboard
import pytest
import hypothesis
from hypothesis import strategies
diff --git a/tests/unit/utils/test_version.py b/tests/unit/utils/test_version.py
index 7b616d8b7..5db536494 100644
--- a/tests/unit/utils/test_version.py
+++ b/tests/unit/utils/test_version.py
@@ -33,7 +33,7 @@ import dataclasses
import pytest
import hypothesis
import hypothesis.strategies
-from PyQt5.QtCore import PYQT_VERSION_STR
+from qutebrowser.qt.QtCore import PYQT_VERSION_STR
import qutebrowser
from qutebrowser.config import config, websettings
@@ -1008,7 +1008,7 @@ class TestWebEngineVersions:
pytest.skip("dev version of PyQt5")
try:
- from PyQt5.QtWebEngine import (
+ from qutebrowser.qt.QtWebEngine import (
PYQT_WEBENGINE_VERSION_STR, PYQT_WEBENGINE_VERSION)
except ImportError as e:
# QtWebKit or QtWebEngine < 5.13
diff --git a/tests/unit/utils/usertypes/test_timer.py b/tests/unit/utils/usertypes/test_timer.py
index 4dc85b06f..d38414dbd 100644
--- a/tests/unit/utils/usertypes/test_timer.py
+++ b/tests/unit/utils/usertypes/test_timer.py
@@ -20,7 +20,7 @@
"""Tests for Timer."""
import pytest
-from PyQt5.QtCore import QObject
+from qutebrowser.qt.QtCore import QObject
from qutebrowser.utils import usertypes