From 203707010d8b29ab3535558df3b7c65b9dc9983e Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 1 Mar 2021 14:08:56 +0530 Subject: [PATCH] Shortcut module to ease importing PyQt names --- src/qt/__init__.py | 0 src/qt/__main__.py | 49 +++ src/qt/core.py | 14 + src/qt/core.pyi | 716 +++++++++++++++++++++++++++++++++++ src/qt/core_name_map.py | 710 ++++++++++++++++++++++++++++++++++ src/qt/loader.py | 33 ++ src/qt/webengine.py | 14 + src/qt/webengine.pyi | 35 ++ src/qt/webengine_name_map.py | 32 ++ 9 files changed, 1603 insertions(+) create mode 100644 src/qt/__init__.py create mode 100644 src/qt/__main__.py create mode 100644 src/qt/core.py create mode 100644 src/qt/core.pyi create mode 100644 src/qt/core_name_map.py create mode 100644 src/qt/loader.py create mode 100644 src/qt/webengine.py create mode 100644 src/qt/webengine.pyi create mode 100644 src/qt/webengine_name_map.py diff --git a/src/qt/__init__.py b/src/qt/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/qt/__main__.py b/src/qt/__main__.py new file mode 100644 index 0000000000..a414e75e45 --- /dev/null +++ b/src/qt/__main__.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 +# License: GPL v3 Copyright: 2021, Kovid Goyal + +import importlib +import os +from pprint import pprint + +base = os.path.dirname(os.path.abspath(__file__)) +module_lists = { + 'core': ( + 'QtCore', + 'QtGui', + 'QtWidgets', + 'QtNetwork', + 'QtSvg', + 'QtPrintSupport', + ), + 'webengine': ( + 'QtWebEngine', + 'QtWebEngineCore', + 'QtWebEngineWidgets', + ), +} + + +def scan(name): + module_names = module_lists[name] + name_map = {} + types = [] + for mod_name in module_names: + mod = importlib.import_module(f'PyQt5.{mod_name}') + full_name = mod.__name__ + types.append(f'import {full_name}') + for obj_name in sorted(dir(mod)): + if not obj_name.startswith('_') and obj_name not in name_map: + name_map[obj_name] = full_name + types.append(f'{obj_name} = {full_name}.{obj_name}') + with open(f'{base}/{name}.pyi', 'w') as f: + print('# autogenerated by __main__.py do not edit', file=f) + f.write('\n'.join(sorted(types))) + with open(f'{base}/{name}_name_map.py', 'w') as f: + print('# autogenerated by __main__.py do not edit', file=f) + print('name_map =', end=' ', file=f) + pprint(name_map, stream=f) + + +for name in ('core', 'webengine'): + scan(name) diff --git a/src/qt/core.py b/src/qt/core.py new file mode 100644 index 0000000000..967ddb0138 --- /dev/null +++ b/src/qt/core.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 +# License: GPL v3 Copyright: 2021, Kovid Goyal + + +from .loader import dynamic_load +from .core_name_map import name_map + +already_imported = {} +qt_modules = {} + + +def __getattr__(name): + return dynamic_load(name, name_map, already_imported, qt_modules) diff --git a/src/qt/core.pyi b/src/qt/core.pyi new file mode 100644 index 0000000000..61ceb29240 --- /dev/null +++ b/src/qt/core.pyi @@ -0,0 +1,716 @@ +# autogenerated by __main__.py do not edit +PYQT_CONFIGURATION = PyQt5.QtCore.PYQT_CONFIGURATION +PYQT_VERSION = PyQt5.QtCore.PYQT_VERSION +PYQT_VERSION_STR = PyQt5.QtCore.PYQT_VERSION_STR +QAbstractAnimation = PyQt5.QtCore.QAbstractAnimation +QAbstractButton = PyQt5.QtWidgets.QAbstractButton +QAbstractEventDispatcher = PyQt5.QtCore.QAbstractEventDispatcher +QAbstractGraphicsShapeItem = PyQt5.QtWidgets.QAbstractGraphicsShapeItem +QAbstractItemDelegate = PyQt5.QtWidgets.QAbstractItemDelegate +QAbstractItemModel = PyQt5.QtCore.QAbstractItemModel +QAbstractItemView = PyQt5.QtWidgets.QAbstractItemView +QAbstractListModel = PyQt5.QtCore.QAbstractListModel +QAbstractNativeEventFilter = PyQt5.QtCore.QAbstractNativeEventFilter +QAbstractNetworkCache = PyQt5.QtNetwork.QAbstractNetworkCache +QAbstractOpenGLFunctions = PyQt5.QtGui.QAbstractOpenGLFunctions +QAbstractPrintDialog = PyQt5.QtPrintSupport.QAbstractPrintDialog +QAbstractProxyModel = PyQt5.QtCore.QAbstractProxyModel +QAbstractScrollArea = PyQt5.QtWidgets.QAbstractScrollArea +QAbstractSlider = PyQt5.QtWidgets.QAbstractSlider +QAbstractSocket = PyQt5.QtNetwork.QAbstractSocket +QAbstractSpinBox = PyQt5.QtWidgets.QAbstractSpinBox +QAbstractState = PyQt5.QtCore.QAbstractState +QAbstractTableModel = PyQt5.QtCore.QAbstractTableModel +QAbstractTextDocumentLayout = PyQt5.QtGui.QAbstractTextDocumentLayout +QAbstractTransition = PyQt5.QtCore.QAbstractTransition +QAction = PyQt5.QtWidgets.QAction +QActionEvent = PyQt5.QtGui.QActionEvent +QActionGroup = PyQt5.QtWidgets.QActionGroup +QAnimationGroup = PyQt5.QtCore.QAnimationGroup +QApplication = PyQt5.QtWidgets.QApplication +QAuthenticator = PyQt5.QtNetwork.QAuthenticator +QBackingStore = PyQt5.QtGui.QBackingStore +QBasicTimer = PyQt5.QtCore.QBasicTimer +QBitArray = PyQt5.QtCore.QBitArray +QBitmap = PyQt5.QtGui.QBitmap +QBoxLayout = PyQt5.QtWidgets.QBoxLayout +QBrush = PyQt5.QtGui.QBrush +QBuffer = PyQt5.QtCore.QBuffer +QButtonGroup = PyQt5.QtWidgets.QButtonGroup +QByteArray = PyQt5.QtCore.QByteArray +QByteArrayMatcher = PyQt5.QtCore.QByteArrayMatcher +QCalendar = PyQt5.QtCore.QCalendar +QCalendarWidget = PyQt5.QtWidgets.QCalendarWidget +QCborError = PyQt5.QtCore.QCborError +QCborKnownTags = PyQt5.QtCore.QCborKnownTags +QCborSimpleType = PyQt5.QtCore.QCborSimpleType +QCborStreamReader = PyQt5.QtCore.QCborStreamReader +QCborStreamWriter = PyQt5.QtCore.QCborStreamWriter +QCheckBox = PyQt5.QtWidgets.QCheckBox +QChildEvent = PyQt5.QtCore.QChildEvent +QClipboard = PyQt5.QtGui.QClipboard +QCloseEvent = PyQt5.QtGui.QCloseEvent +QCollator = PyQt5.QtCore.QCollator +QCollatorSortKey = PyQt5.QtCore.QCollatorSortKey +QColor = PyQt5.QtGui.QColor +QColorConstants = PyQt5.QtGui.QColorConstants +QColorDialog = PyQt5.QtWidgets.QColorDialog +QColorSpace = PyQt5.QtGui.QColorSpace +QColorTransform = PyQt5.QtGui.QColorTransform +QColumnView = PyQt5.QtWidgets.QColumnView +QComboBox = PyQt5.QtWidgets.QComboBox +QCommandLineOption = PyQt5.QtCore.QCommandLineOption +QCommandLineParser = PyQt5.QtCore.QCommandLineParser +QCommandLinkButton = PyQt5.QtWidgets.QCommandLinkButton +QCommonStyle = PyQt5.QtWidgets.QCommonStyle +QCompleter = PyQt5.QtWidgets.QCompleter +QConcatenateTablesProxyModel = PyQt5.QtCore.QConcatenateTablesProxyModel +QConicalGradient = PyQt5.QtGui.QConicalGradient +QContextMenuEvent = PyQt5.QtGui.QContextMenuEvent +QCoreApplication = PyQt5.QtCore.QCoreApplication +QCryptographicHash = PyQt5.QtCore.QCryptographicHash +QCursor = PyQt5.QtGui.QCursor +QDataStream = PyQt5.QtCore.QDataStream +QDataWidgetMapper = PyQt5.QtWidgets.QDataWidgetMapper +QDate = PyQt5.QtCore.QDate +QDateEdit = PyQt5.QtWidgets.QDateEdit +QDateTime = PyQt5.QtCore.QDateTime +QDateTimeEdit = PyQt5.QtWidgets.QDateTimeEdit +QDeadlineTimer = PyQt5.QtCore.QDeadlineTimer +QDesktopServices = PyQt5.QtGui.QDesktopServices +QDesktopWidget = PyQt5.QtWidgets.QDesktopWidget +QDial = PyQt5.QtWidgets.QDial +QDialog = PyQt5.QtWidgets.QDialog +QDialogButtonBox = PyQt5.QtWidgets.QDialogButtonBox +QDir = PyQt5.QtCore.QDir +QDirIterator = PyQt5.QtCore.QDirIterator +QDirModel = PyQt5.QtWidgets.QDirModel +QDnsDomainNameRecord = PyQt5.QtNetwork.QDnsDomainNameRecord +QDnsHostAddressRecord = PyQt5.QtNetwork.QDnsHostAddressRecord +QDnsLookup = PyQt5.QtNetwork.QDnsLookup +QDnsMailExchangeRecord = PyQt5.QtNetwork.QDnsMailExchangeRecord +QDnsServiceRecord = PyQt5.QtNetwork.QDnsServiceRecord +QDnsTextRecord = PyQt5.QtNetwork.QDnsTextRecord +QDockWidget = PyQt5.QtWidgets.QDockWidget +QDoubleSpinBox = PyQt5.QtWidgets.QDoubleSpinBox +QDoubleValidator = PyQt5.QtGui.QDoubleValidator +QDrag = PyQt5.QtGui.QDrag +QDragEnterEvent = PyQt5.QtGui.QDragEnterEvent +QDragLeaveEvent = PyQt5.QtGui.QDragLeaveEvent +QDragMoveEvent = PyQt5.QtGui.QDragMoveEvent +QDropEvent = PyQt5.QtGui.QDropEvent +QDynamicPropertyChangeEvent = PyQt5.QtCore.QDynamicPropertyChangeEvent +QEasingCurve = PyQt5.QtCore.QEasingCurve +QElapsedTimer = PyQt5.QtCore.QElapsedTimer +QEnterEvent = PyQt5.QtGui.QEnterEvent +QErrorMessage = PyQt5.QtWidgets.QErrorMessage +QEvent = PyQt5.QtCore.QEvent +QEventLoop = PyQt5.QtCore.QEventLoop +QEventLoopLocker = PyQt5.QtCore.QEventLoopLocker +QEventTransition = PyQt5.QtCore.QEventTransition +QExposeEvent = PyQt5.QtGui.QExposeEvent +QFile = PyQt5.QtCore.QFile +QFileDevice = PyQt5.QtCore.QFileDevice +QFileDialog = PyQt5.QtWidgets.QFileDialog +QFileIconProvider = PyQt5.QtWidgets.QFileIconProvider +QFileInfo = PyQt5.QtCore.QFileInfo +QFileOpenEvent = PyQt5.QtGui.QFileOpenEvent +QFileSelector = PyQt5.QtCore.QFileSelector +QFileSystemModel = PyQt5.QtWidgets.QFileSystemModel +QFileSystemWatcher = PyQt5.QtCore.QFileSystemWatcher +QFinalState = PyQt5.QtCore.QFinalState +QFocusEvent = PyQt5.QtGui.QFocusEvent +QFocusFrame = PyQt5.QtWidgets.QFocusFrame +QFont = PyQt5.QtGui.QFont +QFontComboBox = PyQt5.QtWidgets.QFontComboBox +QFontDatabase = PyQt5.QtGui.QFontDatabase +QFontDialog = PyQt5.QtWidgets.QFontDialog +QFontInfo = PyQt5.QtGui.QFontInfo +QFontMetrics = PyQt5.QtGui.QFontMetrics +QFontMetricsF = PyQt5.QtGui.QFontMetricsF +QFormLayout = PyQt5.QtWidgets.QFormLayout +QFrame = PyQt5.QtWidgets.QFrame +QGenericArgument = PyQt5.QtCore.QGenericArgument +QGenericReturnArgument = PyQt5.QtCore.QGenericReturnArgument +QGesture = PyQt5.QtWidgets.QGesture +QGestureEvent = PyQt5.QtWidgets.QGestureEvent +QGestureRecognizer = PyQt5.QtWidgets.QGestureRecognizer +QGlyphRun = PyQt5.QtGui.QGlyphRun +QGradient = PyQt5.QtGui.QGradient +QGraphicsAnchor = PyQt5.QtWidgets.QGraphicsAnchor +QGraphicsAnchorLayout = PyQt5.QtWidgets.QGraphicsAnchorLayout +QGraphicsBlurEffect = PyQt5.QtWidgets.QGraphicsBlurEffect +QGraphicsColorizeEffect = PyQt5.QtWidgets.QGraphicsColorizeEffect +QGraphicsDropShadowEffect = PyQt5.QtWidgets.QGraphicsDropShadowEffect +QGraphicsEffect = PyQt5.QtWidgets.QGraphicsEffect +QGraphicsEllipseItem = PyQt5.QtWidgets.QGraphicsEllipseItem +QGraphicsGridLayout = PyQt5.QtWidgets.QGraphicsGridLayout +QGraphicsItem = PyQt5.QtWidgets.QGraphicsItem +QGraphicsItemGroup = PyQt5.QtWidgets.QGraphicsItemGroup +QGraphicsLayout = PyQt5.QtWidgets.QGraphicsLayout +QGraphicsLayoutItem = PyQt5.QtWidgets.QGraphicsLayoutItem +QGraphicsLineItem = PyQt5.QtWidgets.QGraphicsLineItem +QGraphicsLinearLayout = PyQt5.QtWidgets.QGraphicsLinearLayout +QGraphicsObject = PyQt5.QtWidgets.QGraphicsObject +QGraphicsOpacityEffect = PyQt5.QtWidgets.QGraphicsOpacityEffect +QGraphicsPathItem = PyQt5.QtWidgets.QGraphicsPathItem +QGraphicsPixmapItem = PyQt5.QtWidgets.QGraphicsPixmapItem +QGraphicsPolygonItem = PyQt5.QtWidgets.QGraphicsPolygonItem +QGraphicsProxyWidget = PyQt5.QtWidgets.QGraphicsProxyWidget +QGraphicsRectItem = PyQt5.QtWidgets.QGraphicsRectItem +QGraphicsRotation = PyQt5.QtWidgets.QGraphicsRotation +QGraphicsScale = PyQt5.QtWidgets.QGraphicsScale +QGraphicsScene = PyQt5.QtWidgets.QGraphicsScene +QGraphicsSceneContextMenuEvent = PyQt5.QtWidgets.QGraphicsSceneContextMenuEvent +QGraphicsSceneDragDropEvent = PyQt5.QtWidgets.QGraphicsSceneDragDropEvent +QGraphicsSceneEvent = PyQt5.QtWidgets.QGraphicsSceneEvent +QGraphicsSceneHelpEvent = PyQt5.QtWidgets.QGraphicsSceneHelpEvent +QGraphicsSceneHoverEvent = PyQt5.QtWidgets.QGraphicsSceneHoverEvent +QGraphicsSceneMouseEvent = PyQt5.QtWidgets.QGraphicsSceneMouseEvent +QGraphicsSceneMoveEvent = PyQt5.QtWidgets.QGraphicsSceneMoveEvent +QGraphicsSceneResizeEvent = PyQt5.QtWidgets.QGraphicsSceneResizeEvent +QGraphicsSceneWheelEvent = PyQt5.QtWidgets.QGraphicsSceneWheelEvent +QGraphicsSimpleTextItem = PyQt5.QtWidgets.QGraphicsSimpleTextItem +QGraphicsSvgItem = PyQt5.QtSvg.QGraphicsSvgItem +QGraphicsTextItem = PyQt5.QtWidgets.QGraphicsTextItem +QGraphicsTransform = PyQt5.QtWidgets.QGraphicsTransform +QGraphicsView = PyQt5.QtWidgets.QGraphicsView +QGraphicsWidget = PyQt5.QtWidgets.QGraphicsWidget +QGridLayout = PyQt5.QtWidgets.QGridLayout +QGroupBox = PyQt5.QtWidgets.QGroupBox +QGuiApplication = PyQt5.QtGui.QGuiApplication +QHBoxLayout = PyQt5.QtWidgets.QHBoxLayout +QHeaderView = PyQt5.QtWidgets.QHeaderView +QHelpEvent = PyQt5.QtGui.QHelpEvent +QHideEvent = PyQt5.QtGui.QHideEvent +QHistoryState = PyQt5.QtCore.QHistoryState +QHostAddress = PyQt5.QtNetwork.QHostAddress +QHostInfo = PyQt5.QtNetwork.QHostInfo +QHoverEvent = PyQt5.QtGui.QHoverEvent +QHstsPolicy = PyQt5.QtNetwork.QHstsPolicy +QHttp2Configuration = PyQt5.QtNetwork.QHttp2Configuration +QHttpMultiPart = PyQt5.QtNetwork.QHttpMultiPart +QHttpPart = PyQt5.QtNetwork.QHttpPart +QIODevice = PyQt5.QtCore.QIODevice +QIcon = PyQt5.QtGui.QIcon +QIconDragEvent = PyQt5.QtGui.QIconDragEvent +QIconEngine = PyQt5.QtGui.QIconEngine +QIdentityProxyModel = PyQt5.QtCore.QIdentityProxyModel +QImage = PyQt5.QtGui.QImage +QImageIOHandler = PyQt5.QtGui.QImageIOHandler +QImageReader = PyQt5.QtGui.QImageReader +QImageWriter = PyQt5.QtGui.QImageWriter +QInputDialog = PyQt5.QtWidgets.QInputDialog +QInputEvent = PyQt5.QtGui.QInputEvent +QInputMethod = PyQt5.QtGui.QInputMethod +QInputMethodEvent = PyQt5.QtGui.QInputMethodEvent +QInputMethodQueryEvent = PyQt5.QtGui.QInputMethodQueryEvent +QIntValidator = PyQt5.QtGui.QIntValidator +QItemDelegate = PyQt5.QtWidgets.QItemDelegate +QItemEditorCreatorBase = PyQt5.QtWidgets.QItemEditorCreatorBase +QItemEditorFactory = PyQt5.QtWidgets.QItemEditorFactory +QItemSelection = PyQt5.QtCore.QItemSelection +QItemSelectionModel = PyQt5.QtCore.QItemSelectionModel +QItemSelectionRange = PyQt5.QtCore.QItemSelectionRange +QJsonDocument = PyQt5.QtCore.QJsonDocument +QJsonParseError = PyQt5.QtCore.QJsonParseError +QJsonValue = PyQt5.QtCore.QJsonValue +QKeyEvent = PyQt5.QtGui.QKeyEvent +QKeyEventTransition = PyQt5.QtWidgets.QKeyEventTransition +QKeySequence = PyQt5.QtGui.QKeySequence +QKeySequenceEdit = PyQt5.QtWidgets.QKeySequenceEdit +QLCDNumber = PyQt5.QtWidgets.QLCDNumber +QLabel = PyQt5.QtWidgets.QLabel +QLayout = PyQt5.QtWidgets.QLayout +QLayoutItem = PyQt5.QtWidgets.QLayoutItem +QLibrary = PyQt5.QtCore.QLibrary +QLibraryInfo = PyQt5.QtCore.QLibraryInfo +QLine = PyQt5.QtCore.QLine +QLineEdit = PyQt5.QtWidgets.QLineEdit +QLineF = PyQt5.QtCore.QLineF +QLinearGradient = PyQt5.QtGui.QLinearGradient +QListView = PyQt5.QtWidgets.QListView +QListWidget = PyQt5.QtWidgets.QListWidget +QListWidgetItem = PyQt5.QtWidgets.QListWidgetItem +QLocalServer = PyQt5.QtNetwork.QLocalServer +QLocalSocket = PyQt5.QtNetwork.QLocalSocket +QLocale = PyQt5.QtCore.QLocale +QLockFile = PyQt5.QtCore.QLockFile +QLoggingCategory = PyQt5.QtCore.QLoggingCategory +QMainWindow = PyQt5.QtWidgets.QMainWindow +QMargins = PyQt5.QtCore.QMargins +QMarginsF = PyQt5.QtCore.QMarginsF +QMatrix2x2 = PyQt5.QtGui.QMatrix2x2 +QMatrix2x3 = PyQt5.QtGui.QMatrix2x3 +QMatrix2x4 = PyQt5.QtGui.QMatrix2x4 +QMatrix3x2 = PyQt5.QtGui.QMatrix3x2 +QMatrix3x3 = PyQt5.QtGui.QMatrix3x3 +QMatrix3x4 = PyQt5.QtGui.QMatrix3x4 +QMatrix4x2 = PyQt5.QtGui.QMatrix4x2 +QMatrix4x3 = PyQt5.QtGui.QMatrix4x3 +QMatrix4x4 = PyQt5.QtGui.QMatrix4x4 +QMdiArea = PyQt5.QtWidgets.QMdiArea +QMdiSubWindow = PyQt5.QtWidgets.QMdiSubWindow +QMenu = PyQt5.QtWidgets.QMenu +QMenuBar = PyQt5.QtWidgets.QMenuBar +QMessageAuthenticationCode = PyQt5.QtCore.QMessageAuthenticationCode +QMessageBox = PyQt5.QtWidgets.QMessageBox +QMessageLogContext = PyQt5.QtCore.QMessageLogContext +QMessageLogger = PyQt5.QtCore.QMessageLogger +QMetaClassInfo = PyQt5.QtCore.QMetaClassInfo +QMetaEnum = PyQt5.QtCore.QMetaEnum +QMetaMethod = PyQt5.QtCore.QMetaMethod +QMetaObject = PyQt5.QtCore.QMetaObject +QMetaProperty = PyQt5.QtCore.QMetaProperty +QMetaType = PyQt5.QtCore.QMetaType +QMimeData = PyQt5.QtCore.QMimeData +QMimeDatabase = PyQt5.QtCore.QMimeDatabase +QMimeType = PyQt5.QtCore.QMimeType +QModelIndex = PyQt5.QtCore.QModelIndex +QMouseEvent = PyQt5.QtGui.QMouseEvent +QMouseEventTransition = PyQt5.QtWidgets.QMouseEventTransition +QMoveEvent = PyQt5.QtGui.QMoveEvent +QMovie = PyQt5.QtGui.QMovie +QMutex = PyQt5.QtCore.QMutex +QMutexLocker = PyQt5.QtCore.QMutexLocker +QNativeGestureEvent = PyQt5.QtGui.QNativeGestureEvent +QNetworkAccessManager = PyQt5.QtNetwork.QNetworkAccessManager +QNetworkAddressEntry = PyQt5.QtNetwork.QNetworkAddressEntry +QNetworkCacheMetaData = PyQt5.QtNetwork.QNetworkCacheMetaData +QNetworkConfiguration = PyQt5.QtNetwork.QNetworkConfiguration +QNetworkConfigurationManager = PyQt5.QtNetwork.QNetworkConfigurationManager +QNetworkCookie = PyQt5.QtNetwork.QNetworkCookie +QNetworkCookieJar = PyQt5.QtNetwork.QNetworkCookieJar +QNetworkDatagram = PyQt5.QtNetwork.QNetworkDatagram +QNetworkDiskCache = PyQt5.QtNetwork.QNetworkDiskCache +QNetworkInterface = PyQt5.QtNetwork.QNetworkInterface +QNetworkProxy = PyQt5.QtNetwork.QNetworkProxy +QNetworkProxyFactory = PyQt5.QtNetwork.QNetworkProxyFactory +QNetworkProxyQuery = PyQt5.QtNetwork.QNetworkProxyQuery +QNetworkReply = PyQt5.QtNetwork.QNetworkReply +QNetworkRequest = PyQt5.QtNetwork.QNetworkRequest +QNetworkSession = PyQt5.QtNetwork.QNetworkSession +QObject = PyQt5.QtCore.QObject +QObjectCleanupHandler = PyQt5.QtCore.QObjectCleanupHandler +QOcspCertificateStatus = PyQt5.QtNetwork.QOcspCertificateStatus +QOcspResponse = PyQt5.QtNetwork.QOcspResponse +QOcspRevocationReason = PyQt5.QtNetwork.QOcspRevocationReason +QOffscreenSurface = PyQt5.QtGui.QOffscreenSurface +QOpenGLBuffer = PyQt5.QtGui.QOpenGLBuffer +QOpenGLContext = PyQt5.QtGui.QOpenGLContext +QOpenGLContextGroup = PyQt5.QtGui.QOpenGLContextGroup +QOpenGLDebugLogger = PyQt5.QtGui.QOpenGLDebugLogger +QOpenGLDebugMessage = PyQt5.QtGui.QOpenGLDebugMessage +QOpenGLFramebufferObject = PyQt5.QtGui.QOpenGLFramebufferObject +QOpenGLFramebufferObjectFormat = PyQt5.QtGui.QOpenGLFramebufferObjectFormat +QOpenGLPaintDevice = PyQt5.QtGui.QOpenGLPaintDevice +QOpenGLPixelTransferOptions = PyQt5.QtGui.QOpenGLPixelTransferOptions +QOpenGLShader = PyQt5.QtGui.QOpenGLShader +QOpenGLShaderProgram = PyQt5.QtGui.QOpenGLShaderProgram +QOpenGLTexture = PyQt5.QtGui.QOpenGLTexture +QOpenGLTextureBlitter = PyQt5.QtGui.QOpenGLTextureBlitter +QOpenGLTimeMonitor = PyQt5.QtGui.QOpenGLTimeMonitor +QOpenGLTimerQuery = PyQt5.QtGui.QOpenGLTimerQuery +QOpenGLVersionProfile = PyQt5.QtGui.QOpenGLVersionProfile +QOpenGLVertexArrayObject = PyQt5.QtGui.QOpenGLVertexArrayObject +QOpenGLWidget = PyQt5.QtWidgets.QOpenGLWidget +QOpenGLWindow = PyQt5.QtGui.QOpenGLWindow +QOperatingSystemVersion = PyQt5.QtCore.QOperatingSystemVersion +QPageLayout = PyQt5.QtGui.QPageLayout +QPageSetupDialog = PyQt5.QtPrintSupport.QPageSetupDialog +QPageSize = PyQt5.QtGui.QPageSize +QPagedPaintDevice = PyQt5.QtGui.QPagedPaintDevice +QPaintDevice = PyQt5.QtGui.QPaintDevice +QPaintDeviceWindow = PyQt5.QtGui.QPaintDeviceWindow +QPaintEngine = PyQt5.QtGui.QPaintEngine +QPaintEngineState = PyQt5.QtGui.QPaintEngineState +QPaintEvent = PyQt5.QtGui.QPaintEvent +QPainter = PyQt5.QtGui.QPainter +QPainterPath = PyQt5.QtGui.QPainterPath +QPainterPathStroker = PyQt5.QtGui.QPainterPathStroker +QPalette = PyQt5.QtGui.QPalette +QPanGesture = PyQt5.QtWidgets.QPanGesture +QParallelAnimationGroup = PyQt5.QtCore.QParallelAnimationGroup +QPasswordDigestor = PyQt5.QtNetwork.QPasswordDigestor +QPauseAnimation = PyQt5.QtCore.QPauseAnimation +QPdfWriter = PyQt5.QtGui.QPdfWriter +QPen = PyQt5.QtGui.QPen +QPersistentModelIndex = PyQt5.QtCore.QPersistentModelIndex +QPicture = PyQt5.QtGui.QPicture +QPictureIO = PyQt5.QtGui.QPictureIO +QPinchGesture = PyQt5.QtWidgets.QPinchGesture +QPixelFormat = PyQt5.QtGui.QPixelFormat +QPixmap = PyQt5.QtGui.QPixmap +QPixmapCache = PyQt5.QtGui.QPixmapCache +QPlainTextDocumentLayout = PyQt5.QtWidgets.QPlainTextDocumentLayout +QPlainTextEdit = PyQt5.QtWidgets.QPlainTextEdit +QPlatformSurfaceEvent = PyQt5.QtGui.QPlatformSurfaceEvent +QPluginLoader = PyQt5.QtCore.QPluginLoader +QPoint = PyQt5.QtCore.QPoint +QPointF = PyQt5.QtCore.QPointF +QPointingDeviceUniqueId = PyQt5.QtGui.QPointingDeviceUniqueId +QPolygon = PyQt5.QtGui.QPolygon +QPolygonF = PyQt5.QtGui.QPolygonF +QPrintDialog = PyQt5.QtPrintSupport.QPrintDialog +QPrintEngine = PyQt5.QtPrintSupport.QPrintEngine +QPrintPreviewDialog = PyQt5.QtPrintSupport.QPrintPreviewDialog +QPrintPreviewWidget = PyQt5.QtPrintSupport.QPrintPreviewWidget +QPrinter = PyQt5.QtPrintSupport.QPrinter +QPrinterInfo = PyQt5.QtPrintSupport.QPrinterInfo +QProcess = PyQt5.QtCore.QProcess +QProcessEnvironment = PyQt5.QtCore.QProcessEnvironment +QProgressBar = PyQt5.QtWidgets.QProgressBar +QProgressDialog = PyQt5.QtWidgets.QProgressDialog +QPropertyAnimation = PyQt5.QtCore.QPropertyAnimation +QProxyStyle = PyQt5.QtWidgets.QProxyStyle +QPushButton = PyQt5.QtWidgets.QPushButton +QQuaternion = PyQt5.QtGui.QQuaternion +QRadialGradient = PyQt5.QtGui.QRadialGradient +QRadioButton = PyQt5.QtWidgets.QRadioButton +QRandomGenerator = PyQt5.QtCore.QRandomGenerator +QRasterWindow = PyQt5.QtGui.QRasterWindow +QRawFont = PyQt5.QtGui.QRawFont +QReadLocker = PyQt5.QtCore.QReadLocker +QReadWriteLock = PyQt5.QtCore.QReadWriteLock +QRect = PyQt5.QtCore.QRect +QRectF = PyQt5.QtCore.QRectF +QRecursiveMutex = PyQt5.QtCore.QRecursiveMutex +QRegExp = PyQt5.QtCore.QRegExp +QRegExpValidator = PyQt5.QtGui.QRegExpValidator +QRegion = PyQt5.QtGui.QRegion +QRegularExpression = PyQt5.QtCore.QRegularExpression +QRegularExpressionMatch = PyQt5.QtCore.QRegularExpressionMatch +QRegularExpressionMatchIterator = PyQt5.QtCore.QRegularExpressionMatchIterator +QRegularExpressionValidator = PyQt5.QtGui.QRegularExpressionValidator +QResizeEvent = PyQt5.QtGui.QResizeEvent +QResource = PyQt5.QtCore.QResource +QRgba64 = PyQt5.QtGui.QRgba64 +QRubberBand = PyQt5.QtWidgets.QRubberBand +QRunnable = PyQt5.QtCore.QRunnable +QSaveFile = PyQt5.QtCore.QSaveFile +QScreen = PyQt5.QtGui.QScreen +QScrollArea = PyQt5.QtWidgets.QScrollArea +QScrollBar = PyQt5.QtWidgets.QScrollBar +QScrollEvent = PyQt5.QtGui.QScrollEvent +QScrollPrepareEvent = PyQt5.QtGui.QScrollPrepareEvent +QScroller = PyQt5.QtWidgets.QScroller +QScrollerProperties = PyQt5.QtWidgets.QScrollerProperties +QSemaphore = PyQt5.QtCore.QSemaphore +QSemaphoreReleaser = PyQt5.QtCore.QSemaphoreReleaser +QSequentialAnimationGroup = PyQt5.QtCore.QSequentialAnimationGroup +QSessionManager = PyQt5.QtGui.QSessionManager +QSettings = PyQt5.QtCore.QSettings +QSharedMemory = PyQt5.QtCore.QSharedMemory +QShortcut = PyQt5.QtWidgets.QShortcut +QShortcutEvent = PyQt5.QtGui.QShortcutEvent +QShowEvent = PyQt5.QtGui.QShowEvent +QSignalBlocker = PyQt5.QtCore.QSignalBlocker +QSignalMapper = PyQt5.QtCore.QSignalMapper +QSignalTransition = PyQt5.QtCore.QSignalTransition +QSize = PyQt5.QtCore.QSize +QSizeF = PyQt5.QtCore.QSizeF +QSizeGrip = PyQt5.QtWidgets.QSizeGrip +QSizePolicy = PyQt5.QtWidgets.QSizePolicy +QSlider = PyQt5.QtWidgets.QSlider +QSocketNotifier = PyQt5.QtCore.QSocketNotifier +QSortFilterProxyModel = PyQt5.QtCore.QSortFilterProxyModel +QSpacerItem = PyQt5.QtWidgets.QSpacerItem +QSpinBox = PyQt5.QtWidgets.QSpinBox +QSplashScreen = PyQt5.QtWidgets.QSplashScreen +QSplitter = PyQt5.QtWidgets.QSplitter +QSplitterHandle = PyQt5.QtWidgets.QSplitterHandle +QSsl = PyQt5.QtNetwork.QSsl +QSslCertificate = PyQt5.QtNetwork.QSslCertificate +QSslCertificateExtension = PyQt5.QtNetwork.QSslCertificateExtension +QSslCipher = PyQt5.QtNetwork.QSslCipher +QSslConfiguration = PyQt5.QtNetwork.QSslConfiguration +QSslDiffieHellmanParameters = PyQt5.QtNetwork.QSslDiffieHellmanParameters +QSslEllipticCurve = PyQt5.QtNetwork.QSslEllipticCurve +QSslError = PyQt5.QtNetwork.QSslError +QSslKey = PyQt5.QtNetwork.QSslKey +QSslPreSharedKeyAuthenticator = PyQt5.QtNetwork.QSslPreSharedKeyAuthenticator +QSslSocket = PyQt5.QtNetwork.QSslSocket +QStackedLayout = PyQt5.QtWidgets.QStackedLayout +QStackedWidget = PyQt5.QtWidgets.QStackedWidget +QStandardItem = PyQt5.QtGui.QStandardItem +QStandardItemModel = PyQt5.QtGui.QStandardItemModel +QStandardPaths = PyQt5.QtCore.QStandardPaths +QState = PyQt5.QtCore.QState +QStateMachine = PyQt5.QtCore.QStateMachine +QStaticText = PyQt5.QtGui.QStaticText +QStatusBar = PyQt5.QtWidgets.QStatusBar +QStatusTipEvent = PyQt5.QtGui.QStatusTipEvent +QStorageInfo = PyQt5.QtCore.QStorageInfo +QStringListModel = PyQt5.QtCore.QStringListModel +QStyle = PyQt5.QtWidgets.QStyle +QStyleFactory = PyQt5.QtWidgets.QStyleFactory +QStyleHintReturn = PyQt5.QtWidgets.QStyleHintReturn +QStyleHintReturnMask = PyQt5.QtWidgets.QStyleHintReturnMask +QStyleHintReturnVariant = PyQt5.QtWidgets.QStyleHintReturnVariant +QStyleHints = PyQt5.QtGui.QStyleHints +QStyleOption = PyQt5.QtWidgets.QStyleOption +QStyleOptionButton = PyQt5.QtWidgets.QStyleOptionButton +QStyleOptionComboBox = PyQt5.QtWidgets.QStyleOptionComboBox +QStyleOptionComplex = PyQt5.QtWidgets.QStyleOptionComplex +QStyleOptionDockWidget = PyQt5.QtWidgets.QStyleOptionDockWidget +QStyleOptionFocusRect = PyQt5.QtWidgets.QStyleOptionFocusRect +QStyleOptionFrame = PyQt5.QtWidgets.QStyleOptionFrame +QStyleOptionGraphicsItem = PyQt5.QtWidgets.QStyleOptionGraphicsItem +QStyleOptionGroupBox = PyQt5.QtWidgets.QStyleOptionGroupBox +QStyleOptionHeader = PyQt5.QtWidgets.QStyleOptionHeader +QStyleOptionMenuItem = PyQt5.QtWidgets.QStyleOptionMenuItem +QStyleOptionProgressBar = PyQt5.QtWidgets.QStyleOptionProgressBar +QStyleOptionRubberBand = PyQt5.QtWidgets.QStyleOptionRubberBand +QStyleOptionSizeGrip = PyQt5.QtWidgets.QStyleOptionSizeGrip +QStyleOptionSlider = PyQt5.QtWidgets.QStyleOptionSlider +QStyleOptionSpinBox = PyQt5.QtWidgets.QStyleOptionSpinBox +QStyleOptionTab = PyQt5.QtWidgets.QStyleOptionTab +QStyleOptionTabBarBase = PyQt5.QtWidgets.QStyleOptionTabBarBase +QStyleOptionTabV4 = PyQt5.QtWidgets.QStyleOptionTabV4 +QStyleOptionTabWidgetFrame = PyQt5.QtWidgets.QStyleOptionTabWidgetFrame +QStyleOptionTitleBar = PyQt5.QtWidgets.QStyleOptionTitleBar +QStyleOptionToolBar = PyQt5.QtWidgets.QStyleOptionToolBar +QStyleOptionToolBox = PyQt5.QtWidgets.QStyleOptionToolBox +QStyleOptionToolButton = PyQt5.QtWidgets.QStyleOptionToolButton +QStyleOptionViewItem = PyQt5.QtWidgets.QStyleOptionViewItem +QStylePainter = PyQt5.QtWidgets.QStylePainter +QStyledItemDelegate = PyQt5.QtWidgets.QStyledItemDelegate +QSurface = PyQt5.QtGui.QSurface +QSurfaceFormat = PyQt5.QtGui.QSurfaceFormat +QSvgGenerator = PyQt5.QtSvg.QSvgGenerator +QSvgRenderer = PyQt5.QtSvg.QSvgRenderer +QSvgWidget = PyQt5.QtSvg.QSvgWidget +QSwipeGesture = PyQt5.QtWidgets.QSwipeGesture +QSyntaxHighlighter = PyQt5.QtGui.QSyntaxHighlighter +QSysInfo = PyQt5.QtCore.QSysInfo +QSystemSemaphore = PyQt5.QtCore.QSystemSemaphore +QSystemTrayIcon = PyQt5.QtWidgets.QSystemTrayIcon +QT_TRANSLATE_NOOP = PyQt5.QtCore.QT_TRANSLATE_NOOP +QT_TR_NOOP = PyQt5.QtCore.QT_TR_NOOP +QT_TR_NOOP_UTF8 = PyQt5.QtCore.QT_TR_NOOP_UTF8 +QT_VERSION = PyQt5.QtCore.QT_VERSION +QT_VERSION_STR = PyQt5.QtCore.QT_VERSION_STR +QTabBar = PyQt5.QtWidgets.QTabBar +QTabWidget = PyQt5.QtWidgets.QTabWidget +QTableView = PyQt5.QtWidgets.QTableView +QTableWidget = PyQt5.QtWidgets.QTableWidget +QTableWidgetItem = PyQt5.QtWidgets.QTableWidgetItem +QTableWidgetSelectionRange = PyQt5.QtWidgets.QTableWidgetSelectionRange +QTabletEvent = PyQt5.QtGui.QTabletEvent +QTapAndHoldGesture = PyQt5.QtWidgets.QTapAndHoldGesture +QTapGesture = PyQt5.QtWidgets.QTapGesture +QTcpServer = PyQt5.QtNetwork.QTcpServer +QTcpSocket = PyQt5.QtNetwork.QTcpSocket +QTemporaryDir = PyQt5.QtCore.QTemporaryDir +QTemporaryFile = PyQt5.QtCore.QTemporaryFile +QTextBlock = PyQt5.QtGui.QTextBlock +QTextBlockFormat = PyQt5.QtGui.QTextBlockFormat +QTextBlockGroup = PyQt5.QtGui.QTextBlockGroup +QTextBlockUserData = PyQt5.QtGui.QTextBlockUserData +QTextBoundaryFinder = PyQt5.QtCore.QTextBoundaryFinder +QTextBrowser = PyQt5.QtWidgets.QTextBrowser +QTextCharFormat = PyQt5.QtGui.QTextCharFormat +QTextCodec = PyQt5.QtCore.QTextCodec +QTextCursor = PyQt5.QtGui.QTextCursor +QTextDecoder = PyQt5.QtCore.QTextDecoder +QTextDocument = PyQt5.QtGui.QTextDocument +QTextDocumentFragment = PyQt5.QtGui.QTextDocumentFragment +QTextDocumentWriter = PyQt5.QtGui.QTextDocumentWriter +QTextEdit = PyQt5.QtWidgets.QTextEdit +QTextEncoder = PyQt5.QtCore.QTextEncoder +QTextFormat = PyQt5.QtGui.QTextFormat +QTextFragment = PyQt5.QtGui.QTextFragment +QTextFrame = PyQt5.QtGui.QTextFrame +QTextFrameFormat = PyQt5.QtGui.QTextFrameFormat +QTextImageFormat = PyQt5.QtGui.QTextImageFormat +QTextInlineObject = PyQt5.QtGui.QTextInlineObject +QTextItem = PyQt5.QtGui.QTextItem +QTextLayout = PyQt5.QtGui.QTextLayout +QTextLength = PyQt5.QtGui.QTextLength +QTextLine = PyQt5.QtGui.QTextLine +QTextList = PyQt5.QtGui.QTextList +QTextListFormat = PyQt5.QtGui.QTextListFormat +QTextObject = PyQt5.QtGui.QTextObject +QTextObjectInterface = PyQt5.QtGui.QTextObjectInterface +QTextOption = PyQt5.QtGui.QTextOption +QTextStream = PyQt5.QtCore.QTextStream +QTextStreamManipulator = PyQt5.QtCore.QTextStreamManipulator +QTextTable = PyQt5.QtGui.QTextTable +QTextTableCell = PyQt5.QtGui.QTextTableCell +QTextTableCellFormat = PyQt5.QtGui.QTextTableCellFormat +QTextTableFormat = PyQt5.QtGui.QTextTableFormat +QThread = PyQt5.QtCore.QThread +QThreadPool = PyQt5.QtCore.QThreadPool +QTime = PyQt5.QtCore.QTime +QTimeEdit = PyQt5.QtWidgets.QTimeEdit +QTimeLine = PyQt5.QtCore.QTimeLine +QTimeZone = PyQt5.QtCore.QTimeZone +QTimer = PyQt5.QtCore.QTimer +QTimerEvent = PyQt5.QtCore.QTimerEvent +QToolBar = PyQt5.QtWidgets.QToolBar +QToolBox = PyQt5.QtWidgets.QToolBox +QToolButton = PyQt5.QtWidgets.QToolButton +QToolTip = PyQt5.QtWidgets.QToolTip +QTouchDevice = PyQt5.QtGui.QTouchDevice +QTouchEvent = PyQt5.QtGui.QTouchEvent +QTransform = PyQt5.QtGui.QTransform +QTranslator = PyQt5.QtCore.QTranslator +QTransposeProxyModel = PyQt5.QtCore.QTransposeProxyModel +QTreeView = PyQt5.QtWidgets.QTreeView +QTreeWidget = PyQt5.QtWidgets.QTreeWidget +QTreeWidgetItem = PyQt5.QtWidgets.QTreeWidgetItem +QTreeWidgetItemIterator = PyQt5.QtWidgets.QTreeWidgetItemIterator +QUdpSocket = PyQt5.QtNetwork.QUdpSocket +QUndoCommand = PyQt5.QtWidgets.QUndoCommand +QUndoGroup = PyQt5.QtWidgets.QUndoGroup +QUndoStack = PyQt5.QtWidgets.QUndoStack +QUndoView = PyQt5.QtWidgets.QUndoView +QUrl = PyQt5.QtCore.QUrl +QUrlQuery = PyQt5.QtCore.QUrlQuery +QUuid = PyQt5.QtCore.QUuid +QVBoxLayout = PyQt5.QtWidgets.QVBoxLayout +QValidator = PyQt5.QtGui.QValidator +QVariant = PyQt5.QtCore.QVariant +QVariantAnimation = PyQt5.QtCore.QVariantAnimation +QVector2D = PyQt5.QtGui.QVector2D +QVector3D = PyQt5.QtGui.QVector3D +QVector4D = PyQt5.QtGui.QVector4D +QVersionNumber = PyQt5.QtCore.QVersionNumber +QWIDGETSIZE_MAX = PyQt5.QtWidgets.QWIDGETSIZE_MAX +QWaitCondition = PyQt5.QtCore.QWaitCondition +QWhatsThis = PyQt5.QtWidgets.QWhatsThis +QWhatsThisClickedEvent = PyQt5.QtGui.QWhatsThisClickedEvent +QWheelEvent = PyQt5.QtGui.QWheelEvent +QWidget = PyQt5.QtWidgets.QWidget +QWidgetAction = PyQt5.QtWidgets.QWidgetAction +QWidgetItem = PyQt5.QtWidgets.QWidgetItem +QWindow = PyQt5.QtGui.QWindow +QWindowStateChangeEvent = PyQt5.QtGui.QWindowStateChangeEvent +QWizard = PyQt5.QtWidgets.QWizard +QWizardPage = PyQt5.QtWidgets.QWizardPage +QWriteLocker = PyQt5.QtCore.QWriteLocker +QXmlStreamAttribute = PyQt5.QtCore.QXmlStreamAttribute +QXmlStreamAttributes = PyQt5.QtCore.QXmlStreamAttributes +QXmlStreamEntityDeclaration = PyQt5.QtCore.QXmlStreamEntityDeclaration +QXmlStreamEntityResolver = PyQt5.QtCore.QXmlStreamEntityResolver +QXmlStreamNamespaceDeclaration = PyQt5.QtCore.QXmlStreamNamespaceDeclaration +QXmlStreamNotationDeclaration = PyQt5.QtCore.QXmlStreamNotationDeclaration +QXmlStreamReader = PyQt5.QtCore.QXmlStreamReader +QXmlStreamWriter = PyQt5.QtCore.QXmlStreamWriter +Q_ARG = PyQt5.QtCore.Q_ARG +Q_CLASSINFO = PyQt5.QtCore.Q_CLASSINFO +Q_ENUM = PyQt5.QtCore.Q_ENUM +Q_ENUMS = PyQt5.QtCore.Q_ENUMS +Q_FLAG = PyQt5.QtCore.Q_FLAG +Q_FLAGS = PyQt5.QtCore.Q_FLAGS +Q_RETURN_ARG = PyQt5.QtCore.Q_RETURN_ARG +Qt = PyQt5.QtCore.Qt +QtCriticalMsg = PyQt5.QtCore.QtCriticalMsg +QtDebugMsg = PyQt5.QtCore.QtDebugMsg +QtFatalMsg = PyQt5.QtCore.QtFatalMsg +QtInfoMsg = PyQt5.QtCore.QtInfoMsg +QtMsgType = PyQt5.QtCore.QtMsgType +QtSystemMsg = PyQt5.QtCore.QtSystemMsg +QtWarningMsg = PyQt5.QtCore.QtWarningMsg +bin_ = PyQt5.QtCore.bin_ +bom = PyQt5.QtCore.bom +center = PyQt5.QtCore.center +dec = PyQt5.QtCore.dec +endl = PyQt5.QtCore.endl +fixed = PyQt5.QtCore.fixed +flush = PyQt5.QtCore.flush +forcepoint = PyQt5.QtCore.forcepoint +forcesign = PyQt5.QtCore.forcesign +hex_ = PyQt5.QtCore.hex_ +import PyQt5.QtCore +import PyQt5.QtGui +import PyQt5.QtNetwork +import PyQt5.QtPrintSupport +import PyQt5.QtSvg +import PyQt5.QtWidgets +left = PyQt5.QtCore.left +lowercasebase = PyQt5.QtCore.lowercasebase +lowercasedigits = PyQt5.QtCore.lowercasedigits +noforcepoint = PyQt5.QtCore.noforcepoint +noforcesign = PyQt5.QtCore.noforcesign +noshowbase = PyQt5.QtCore.noshowbase +oct_ = PyQt5.QtCore.oct_ +pyqtBoundSignal = PyQt5.QtCore.pyqtBoundSignal +pyqtPickleProtocol = PyQt5.QtCore.pyqtPickleProtocol +pyqtProperty = PyQt5.QtCore.pyqtProperty +pyqtRemoveInputHook = PyQt5.QtCore.pyqtRemoveInputHook +pyqtRestoreInputHook = PyQt5.QtCore.pyqtRestoreInputHook +pyqtSetPickleProtocol = PyQt5.QtCore.pyqtSetPickleProtocol +pyqtSignal = PyQt5.QtCore.pyqtSignal +pyqtSlot = PyQt5.QtCore.pyqtSlot +qAbs = PyQt5.QtCore.qAbs +qAddPostRoutine = PyQt5.QtCore.qAddPostRoutine +qAddPreRoutine = PyQt5.QtCore.qAddPreRoutine +qAlpha = PyQt5.QtGui.qAlpha +qApp = PyQt5.QtWidgets.qApp +qBlue = PyQt5.QtGui.qBlue +qChecksum = PyQt5.QtCore.qChecksum +qCompress = PyQt5.QtCore.qCompress +qCritical = PyQt5.QtCore.qCritical +qDebug = PyQt5.QtCore.qDebug +qDrawBorderPixmap = PyQt5.QtWidgets.qDrawBorderPixmap +qDrawPlainRect = PyQt5.QtWidgets.qDrawPlainRect +qDrawShadeLine = PyQt5.QtWidgets.qDrawShadeLine +qDrawShadePanel = PyQt5.QtWidgets.qDrawShadePanel +qDrawShadeRect = PyQt5.QtWidgets.qDrawShadeRect +qDrawWinButton = PyQt5.QtWidgets.qDrawWinButton +qDrawWinPanel = PyQt5.QtWidgets.qDrawWinPanel +qEnvironmentVariable = PyQt5.QtCore.qEnvironmentVariable +qErrnoWarning = PyQt5.QtCore.qErrnoWarning +qFatal = PyQt5.QtCore.qFatal +qFloatDistance = PyQt5.QtCore.qFloatDistance +qFormatLogMessage = PyQt5.QtCore.qFormatLogMessage +qFuzzyCompare = PyQt5.QtCore.qFuzzyCompare +qGray = PyQt5.QtGui.qGray +qGreen = PyQt5.QtGui.qGreen +qInf = PyQt5.QtCore.qInf +qInfo = PyQt5.QtCore.qInfo +qInstallMessageHandler = PyQt5.QtCore.qInstallMessageHandler +qIsFinite = PyQt5.QtCore.qIsFinite +qIsGray = PyQt5.QtGui.qIsGray +qIsInf = PyQt5.QtCore.qIsInf +qIsNaN = PyQt5.QtCore.qIsNaN +qIsNull = PyQt5.QtCore.qIsNull +qPixelFormatAlpha = PyQt5.QtGui.qPixelFormatAlpha +qPixelFormatCmyk = PyQt5.QtGui.qPixelFormatCmyk +qPixelFormatGrayscale = PyQt5.QtGui.qPixelFormatGrayscale +qPixelFormatHsl = PyQt5.QtGui.qPixelFormatHsl +qPixelFormatHsv = PyQt5.QtGui.qPixelFormatHsv +qPixelFormatRgba = PyQt5.QtGui.qPixelFormatRgba +qPixelFormatYuv = PyQt5.QtGui.qPixelFormatYuv +qPremultiply = PyQt5.QtGui.qPremultiply +qQNaN = PyQt5.QtCore.qQNaN +qRed = PyQt5.QtGui.qRed +qRegisterResourceData = PyQt5.QtCore.qRegisterResourceData +qRemovePostRoutine = PyQt5.QtCore.qRemovePostRoutine +qRgb = PyQt5.QtGui.qRgb +qRgba = PyQt5.QtGui.qRgba +qRgba64 = PyQt5.QtGui.qRgba64 +qRound = PyQt5.QtCore.qRound +qRound64 = PyQt5.QtCore.qRound64 +qSNaN = PyQt5.QtCore.qSNaN +qSetFieldWidth = PyQt5.QtCore.qSetFieldWidth +qSetMessagePattern = PyQt5.QtCore.qSetMessagePattern +qSetPadChar = PyQt5.QtCore.qSetPadChar +qSetRealNumberPrecision = PyQt5.QtCore.qSetRealNumberPrecision +qSharedBuild = PyQt5.QtCore.qSharedBuild +qUncompress = PyQt5.QtCore.qUncompress +qUnpremultiply = PyQt5.QtGui.qUnpremultiply +qUnregisterResourceData = PyQt5.QtCore.qUnregisterResourceData +qVersion = PyQt5.QtCore.qVersion +qWarning = PyQt5.QtCore.qWarning +qrand = PyQt5.QtCore.qrand +qsrand = PyQt5.QtCore.qsrand +qt_set_sequence_auto_mnemonic = PyQt5.QtGui.qt_set_sequence_auto_mnemonic +reset = PyQt5.QtCore.reset +right = PyQt5.QtCore.right +scientific = PyQt5.QtCore.scientific +showbase = PyQt5.QtCore.showbase +uppercasebase = PyQt5.QtCore.uppercasebase +uppercasedigits = PyQt5.QtCore.uppercasedigits +ws = PyQt5.QtCore.ws \ No newline at end of file diff --git a/src/qt/core_name_map.py b/src/qt/core_name_map.py new file mode 100644 index 0000000000..83a1a448f2 --- /dev/null +++ b/src/qt/core_name_map.py @@ -0,0 +1,710 @@ +# autogenerated by __main__.py do not edit +name_map = {'PYQT_CONFIGURATION': 'PyQt5.QtCore', + 'PYQT_VERSION': 'PyQt5.QtCore', + 'PYQT_VERSION_STR': 'PyQt5.QtCore', + 'QAbstractAnimation': 'PyQt5.QtCore', + 'QAbstractButton': 'PyQt5.QtWidgets', + 'QAbstractEventDispatcher': 'PyQt5.QtCore', + 'QAbstractGraphicsShapeItem': 'PyQt5.QtWidgets', + 'QAbstractItemDelegate': 'PyQt5.QtWidgets', + 'QAbstractItemModel': 'PyQt5.QtCore', + 'QAbstractItemView': 'PyQt5.QtWidgets', + 'QAbstractListModel': 'PyQt5.QtCore', + 'QAbstractNativeEventFilter': 'PyQt5.QtCore', + 'QAbstractNetworkCache': 'PyQt5.QtNetwork', + 'QAbstractOpenGLFunctions': 'PyQt5.QtGui', + 'QAbstractPrintDialog': 'PyQt5.QtPrintSupport', + 'QAbstractProxyModel': 'PyQt5.QtCore', + 'QAbstractScrollArea': 'PyQt5.QtWidgets', + 'QAbstractSlider': 'PyQt5.QtWidgets', + 'QAbstractSocket': 'PyQt5.QtNetwork', + 'QAbstractSpinBox': 'PyQt5.QtWidgets', + 'QAbstractState': 'PyQt5.QtCore', + 'QAbstractTableModel': 'PyQt5.QtCore', + 'QAbstractTextDocumentLayout': 'PyQt5.QtGui', + 'QAbstractTransition': 'PyQt5.QtCore', + 'QAction': 'PyQt5.QtWidgets', + 'QActionEvent': 'PyQt5.QtGui', + 'QActionGroup': 'PyQt5.QtWidgets', + 'QAnimationGroup': 'PyQt5.QtCore', + 'QApplication': 'PyQt5.QtWidgets', + 'QAuthenticator': 'PyQt5.QtNetwork', + 'QBackingStore': 'PyQt5.QtGui', + 'QBasicTimer': 'PyQt5.QtCore', + 'QBitArray': 'PyQt5.QtCore', + 'QBitmap': 'PyQt5.QtGui', + 'QBoxLayout': 'PyQt5.QtWidgets', + 'QBrush': 'PyQt5.QtGui', + 'QBuffer': 'PyQt5.QtCore', + 'QButtonGroup': 'PyQt5.QtWidgets', + 'QByteArray': 'PyQt5.QtCore', + 'QByteArrayMatcher': 'PyQt5.QtCore', + 'QCalendar': 'PyQt5.QtCore', + 'QCalendarWidget': 'PyQt5.QtWidgets', + 'QCborError': 'PyQt5.QtCore', + 'QCborKnownTags': 'PyQt5.QtCore', + 'QCborSimpleType': 'PyQt5.QtCore', + 'QCborStreamReader': 'PyQt5.QtCore', + 'QCborStreamWriter': 'PyQt5.QtCore', + 'QCheckBox': 'PyQt5.QtWidgets', + 'QChildEvent': 'PyQt5.QtCore', + 'QClipboard': 'PyQt5.QtGui', + 'QCloseEvent': 'PyQt5.QtGui', + 'QCollator': 'PyQt5.QtCore', + 'QCollatorSortKey': 'PyQt5.QtCore', + 'QColor': 'PyQt5.QtGui', + 'QColorConstants': 'PyQt5.QtGui', + 'QColorDialog': 'PyQt5.QtWidgets', + 'QColorSpace': 'PyQt5.QtGui', + 'QColorTransform': 'PyQt5.QtGui', + 'QColumnView': 'PyQt5.QtWidgets', + 'QComboBox': 'PyQt5.QtWidgets', + 'QCommandLineOption': 'PyQt5.QtCore', + 'QCommandLineParser': 'PyQt5.QtCore', + 'QCommandLinkButton': 'PyQt5.QtWidgets', + 'QCommonStyle': 'PyQt5.QtWidgets', + 'QCompleter': 'PyQt5.QtWidgets', + 'QConcatenateTablesProxyModel': 'PyQt5.QtCore', + 'QConicalGradient': 'PyQt5.QtGui', + 'QContextMenuEvent': 'PyQt5.QtGui', + 'QCoreApplication': 'PyQt5.QtCore', + 'QCryptographicHash': 'PyQt5.QtCore', + 'QCursor': 'PyQt5.QtGui', + 'QDataStream': 'PyQt5.QtCore', + 'QDataWidgetMapper': 'PyQt5.QtWidgets', + 'QDate': 'PyQt5.QtCore', + 'QDateEdit': 'PyQt5.QtWidgets', + 'QDateTime': 'PyQt5.QtCore', + 'QDateTimeEdit': 'PyQt5.QtWidgets', + 'QDeadlineTimer': 'PyQt5.QtCore', + 'QDesktopServices': 'PyQt5.QtGui', + 'QDesktopWidget': 'PyQt5.QtWidgets', + 'QDial': 'PyQt5.QtWidgets', + 'QDialog': 'PyQt5.QtWidgets', + 'QDialogButtonBox': 'PyQt5.QtWidgets', + 'QDir': 'PyQt5.QtCore', + 'QDirIterator': 'PyQt5.QtCore', + 'QDirModel': 'PyQt5.QtWidgets', + 'QDnsDomainNameRecord': 'PyQt5.QtNetwork', + 'QDnsHostAddressRecord': 'PyQt5.QtNetwork', + 'QDnsLookup': 'PyQt5.QtNetwork', + 'QDnsMailExchangeRecord': 'PyQt5.QtNetwork', + 'QDnsServiceRecord': 'PyQt5.QtNetwork', + 'QDnsTextRecord': 'PyQt5.QtNetwork', + 'QDockWidget': 'PyQt5.QtWidgets', + 'QDoubleSpinBox': 'PyQt5.QtWidgets', + 'QDoubleValidator': 'PyQt5.QtGui', + 'QDrag': 'PyQt5.QtGui', + 'QDragEnterEvent': 'PyQt5.QtGui', + 'QDragLeaveEvent': 'PyQt5.QtGui', + 'QDragMoveEvent': 'PyQt5.QtGui', + 'QDropEvent': 'PyQt5.QtGui', + 'QDynamicPropertyChangeEvent': 'PyQt5.QtCore', + 'QEasingCurve': 'PyQt5.QtCore', + 'QElapsedTimer': 'PyQt5.QtCore', + 'QEnterEvent': 'PyQt5.QtGui', + 'QErrorMessage': 'PyQt5.QtWidgets', + 'QEvent': 'PyQt5.QtCore', + 'QEventLoop': 'PyQt5.QtCore', + 'QEventLoopLocker': 'PyQt5.QtCore', + 'QEventTransition': 'PyQt5.QtCore', + 'QExposeEvent': 'PyQt5.QtGui', + 'QFile': 'PyQt5.QtCore', + 'QFileDevice': 'PyQt5.QtCore', + 'QFileDialog': 'PyQt5.QtWidgets', + 'QFileIconProvider': 'PyQt5.QtWidgets', + 'QFileInfo': 'PyQt5.QtCore', + 'QFileOpenEvent': 'PyQt5.QtGui', + 'QFileSelector': 'PyQt5.QtCore', + 'QFileSystemModel': 'PyQt5.QtWidgets', + 'QFileSystemWatcher': 'PyQt5.QtCore', + 'QFinalState': 'PyQt5.QtCore', + 'QFocusEvent': 'PyQt5.QtGui', + 'QFocusFrame': 'PyQt5.QtWidgets', + 'QFont': 'PyQt5.QtGui', + 'QFontComboBox': 'PyQt5.QtWidgets', + 'QFontDatabase': 'PyQt5.QtGui', + 'QFontDialog': 'PyQt5.QtWidgets', + 'QFontInfo': 'PyQt5.QtGui', + 'QFontMetrics': 'PyQt5.QtGui', + 'QFontMetricsF': 'PyQt5.QtGui', + 'QFormLayout': 'PyQt5.QtWidgets', + 'QFrame': 'PyQt5.QtWidgets', + 'QGenericArgument': 'PyQt5.QtCore', + 'QGenericReturnArgument': 'PyQt5.QtCore', + 'QGesture': 'PyQt5.QtWidgets', + 'QGestureEvent': 'PyQt5.QtWidgets', + 'QGestureRecognizer': 'PyQt5.QtWidgets', + 'QGlyphRun': 'PyQt5.QtGui', + 'QGradient': 'PyQt5.QtGui', + 'QGraphicsAnchor': 'PyQt5.QtWidgets', + 'QGraphicsAnchorLayout': 'PyQt5.QtWidgets', + 'QGraphicsBlurEffect': 'PyQt5.QtWidgets', + 'QGraphicsColorizeEffect': 'PyQt5.QtWidgets', + 'QGraphicsDropShadowEffect': 'PyQt5.QtWidgets', + 'QGraphicsEffect': 'PyQt5.QtWidgets', + 'QGraphicsEllipseItem': 'PyQt5.QtWidgets', + 'QGraphicsGridLayout': 'PyQt5.QtWidgets', + 'QGraphicsItem': 'PyQt5.QtWidgets', + 'QGraphicsItemGroup': 'PyQt5.QtWidgets', + 'QGraphicsLayout': 'PyQt5.QtWidgets', + 'QGraphicsLayoutItem': 'PyQt5.QtWidgets', + 'QGraphicsLineItem': 'PyQt5.QtWidgets', + 'QGraphicsLinearLayout': 'PyQt5.QtWidgets', + 'QGraphicsObject': 'PyQt5.QtWidgets', + 'QGraphicsOpacityEffect': 'PyQt5.QtWidgets', + 'QGraphicsPathItem': 'PyQt5.QtWidgets', + 'QGraphicsPixmapItem': 'PyQt5.QtWidgets', + 'QGraphicsPolygonItem': 'PyQt5.QtWidgets', + 'QGraphicsProxyWidget': 'PyQt5.QtWidgets', + 'QGraphicsRectItem': 'PyQt5.QtWidgets', + 'QGraphicsRotation': 'PyQt5.QtWidgets', + 'QGraphicsScale': 'PyQt5.QtWidgets', + 'QGraphicsScene': 'PyQt5.QtWidgets', + 'QGraphicsSceneContextMenuEvent': 'PyQt5.QtWidgets', + 'QGraphicsSceneDragDropEvent': 'PyQt5.QtWidgets', + 'QGraphicsSceneEvent': 'PyQt5.QtWidgets', + 'QGraphicsSceneHelpEvent': 'PyQt5.QtWidgets', + 'QGraphicsSceneHoverEvent': 'PyQt5.QtWidgets', + 'QGraphicsSceneMouseEvent': 'PyQt5.QtWidgets', + 'QGraphicsSceneMoveEvent': 'PyQt5.QtWidgets', + 'QGraphicsSceneResizeEvent': 'PyQt5.QtWidgets', + 'QGraphicsSceneWheelEvent': 'PyQt5.QtWidgets', + 'QGraphicsSimpleTextItem': 'PyQt5.QtWidgets', + 'QGraphicsSvgItem': 'PyQt5.QtSvg', + 'QGraphicsTextItem': 'PyQt5.QtWidgets', + 'QGraphicsTransform': 'PyQt5.QtWidgets', + 'QGraphicsView': 'PyQt5.QtWidgets', + 'QGraphicsWidget': 'PyQt5.QtWidgets', + 'QGridLayout': 'PyQt5.QtWidgets', + 'QGroupBox': 'PyQt5.QtWidgets', + 'QGuiApplication': 'PyQt5.QtGui', + 'QHBoxLayout': 'PyQt5.QtWidgets', + 'QHeaderView': 'PyQt5.QtWidgets', + 'QHelpEvent': 'PyQt5.QtGui', + 'QHideEvent': 'PyQt5.QtGui', + 'QHistoryState': 'PyQt5.QtCore', + 'QHostAddress': 'PyQt5.QtNetwork', + 'QHostInfo': 'PyQt5.QtNetwork', + 'QHoverEvent': 'PyQt5.QtGui', + 'QHstsPolicy': 'PyQt5.QtNetwork', + 'QHttp2Configuration': 'PyQt5.QtNetwork', + 'QHttpMultiPart': 'PyQt5.QtNetwork', + 'QHttpPart': 'PyQt5.QtNetwork', + 'QIODevice': 'PyQt5.QtCore', + 'QIcon': 'PyQt5.QtGui', + 'QIconDragEvent': 'PyQt5.QtGui', + 'QIconEngine': 'PyQt5.QtGui', + 'QIdentityProxyModel': 'PyQt5.QtCore', + 'QImage': 'PyQt5.QtGui', + 'QImageIOHandler': 'PyQt5.QtGui', + 'QImageReader': 'PyQt5.QtGui', + 'QImageWriter': 'PyQt5.QtGui', + 'QInputDialog': 'PyQt5.QtWidgets', + 'QInputEvent': 'PyQt5.QtGui', + 'QInputMethod': 'PyQt5.QtGui', + 'QInputMethodEvent': 'PyQt5.QtGui', + 'QInputMethodQueryEvent': 'PyQt5.QtGui', + 'QIntValidator': 'PyQt5.QtGui', + 'QItemDelegate': 'PyQt5.QtWidgets', + 'QItemEditorCreatorBase': 'PyQt5.QtWidgets', + 'QItemEditorFactory': 'PyQt5.QtWidgets', + 'QItemSelection': 'PyQt5.QtCore', + 'QItemSelectionModel': 'PyQt5.QtCore', + 'QItemSelectionRange': 'PyQt5.QtCore', + 'QJsonDocument': 'PyQt5.QtCore', + 'QJsonParseError': 'PyQt5.QtCore', + 'QJsonValue': 'PyQt5.QtCore', + 'QKeyEvent': 'PyQt5.QtGui', + 'QKeyEventTransition': 'PyQt5.QtWidgets', + 'QKeySequence': 'PyQt5.QtGui', + 'QKeySequenceEdit': 'PyQt5.QtWidgets', + 'QLCDNumber': 'PyQt5.QtWidgets', + 'QLabel': 'PyQt5.QtWidgets', + 'QLayout': 'PyQt5.QtWidgets', + 'QLayoutItem': 'PyQt5.QtWidgets', + 'QLibrary': 'PyQt5.QtCore', + 'QLibraryInfo': 'PyQt5.QtCore', + 'QLine': 'PyQt5.QtCore', + 'QLineEdit': 'PyQt5.QtWidgets', + 'QLineF': 'PyQt5.QtCore', + 'QLinearGradient': 'PyQt5.QtGui', + 'QListView': 'PyQt5.QtWidgets', + 'QListWidget': 'PyQt5.QtWidgets', + 'QListWidgetItem': 'PyQt5.QtWidgets', + 'QLocalServer': 'PyQt5.QtNetwork', + 'QLocalSocket': 'PyQt5.QtNetwork', + 'QLocale': 'PyQt5.QtCore', + 'QLockFile': 'PyQt5.QtCore', + 'QLoggingCategory': 'PyQt5.QtCore', + 'QMainWindow': 'PyQt5.QtWidgets', + 'QMargins': 'PyQt5.QtCore', + 'QMarginsF': 'PyQt5.QtCore', + 'QMatrix2x2': 'PyQt5.QtGui', + 'QMatrix2x3': 'PyQt5.QtGui', + 'QMatrix2x4': 'PyQt5.QtGui', + 'QMatrix3x2': 'PyQt5.QtGui', + 'QMatrix3x3': 'PyQt5.QtGui', + 'QMatrix3x4': 'PyQt5.QtGui', + 'QMatrix4x2': 'PyQt5.QtGui', + 'QMatrix4x3': 'PyQt5.QtGui', + 'QMatrix4x4': 'PyQt5.QtGui', + 'QMdiArea': 'PyQt5.QtWidgets', + 'QMdiSubWindow': 'PyQt5.QtWidgets', + 'QMenu': 'PyQt5.QtWidgets', + 'QMenuBar': 'PyQt5.QtWidgets', + 'QMessageAuthenticationCode': 'PyQt5.QtCore', + 'QMessageBox': 'PyQt5.QtWidgets', + 'QMessageLogContext': 'PyQt5.QtCore', + 'QMessageLogger': 'PyQt5.QtCore', + 'QMetaClassInfo': 'PyQt5.QtCore', + 'QMetaEnum': 'PyQt5.QtCore', + 'QMetaMethod': 'PyQt5.QtCore', + 'QMetaObject': 'PyQt5.QtCore', + 'QMetaProperty': 'PyQt5.QtCore', + 'QMetaType': 'PyQt5.QtCore', + 'QMimeData': 'PyQt5.QtCore', + 'QMimeDatabase': 'PyQt5.QtCore', + 'QMimeType': 'PyQt5.QtCore', + 'QModelIndex': 'PyQt5.QtCore', + 'QMouseEvent': 'PyQt5.QtGui', + 'QMouseEventTransition': 'PyQt5.QtWidgets', + 'QMoveEvent': 'PyQt5.QtGui', + 'QMovie': 'PyQt5.QtGui', + 'QMutex': 'PyQt5.QtCore', + 'QMutexLocker': 'PyQt5.QtCore', + 'QNativeGestureEvent': 'PyQt5.QtGui', + 'QNetworkAccessManager': 'PyQt5.QtNetwork', + 'QNetworkAddressEntry': 'PyQt5.QtNetwork', + 'QNetworkCacheMetaData': 'PyQt5.QtNetwork', + 'QNetworkConfiguration': 'PyQt5.QtNetwork', + 'QNetworkConfigurationManager': 'PyQt5.QtNetwork', + 'QNetworkCookie': 'PyQt5.QtNetwork', + 'QNetworkCookieJar': 'PyQt5.QtNetwork', + 'QNetworkDatagram': 'PyQt5.QtNetwork', + 'QNetworkDiskCache': 'PyQt5.QtNetwork', + 'QNetworkInterface': 'PyQt5.QtNetwork', + 'QNetworkProxy': 'PyQt5.QtNetwork', + 'QNetworkProxyFactory': 'PyQt5.QtNetwork', + 'QNetworkProxyQuery': 'PyQt5.QtNetwork', + 'QNetworkReply': 'PyQt5.QtNetwork', + 'QNetworkRequest': 'PyQt5.QtNetwork', + 'QNetworkSession': 'PyQt5.QtNetwork', + 'QObject': 'PyQt5.QtCore', + 'QObjectCleanupHandler': 'PyQt5.QtCore', + 'QOcspCertificateStatus': 'PyQt5.QtNetwork', + 'QOcspResponse': 'PyQt5.QtNetwork', + 'QOcspRevocationReason': 'PyQt5.QtNetwork', + 'QOffscreenSurface': 'PyQt5.QtGui', + 'QOpenGLBuffer': 'PyQt5.QtGui', + 'QOpenGLContext': 'PyQt5.QtGui', + 'QOpenGLContextGroup': 'PyQt5.QtGui', + 'QOpenGLDebugLogger': 'PyQt5.QtGui', + 'QOpenGLDebugMessage': 'PyQt5.QtGui', + 'QOpenGLFramebufferObject': 'PyQt5.QtGui', + 'QOpenGLFramebufferObjectFormat': 'PyQt5.QtGui', + 'QOpenGLPaintDevice': 'PyQt5.QtGui', + 'QOpenGLPixelTransferOptions': 'PyQt5.QtGui', + 'QOpenGLShader': 'PyQt5.QtGui', + 'QOpenGLShaderProgram': 'PyQt5.QtGui', + 'QOpenGLTexture': 'PyQt5.QtGui', + 'QOpenGLTextureBlitter': 'PyQt5.QtGui', + 'QOpenGLTimeMonitor': 'PyQt5.QtGui', + 'QOpenGLTimerQuery': 'PyQt5.QtGui', + 'QOpenGLVersionProfile': 'PyQt5.QtGui', + 'QOpenGLVertexArrayObject': 'PyQt5.QtGui', + 'QOpenGLWidget': 'PyQt5.QtWidgets', + 'QOpenGLWindow': 'PyQt5.QtGui', + 'QOperatingSystemVersion': 'PyQt5.QtCore', + 'QPageLayout': 'PyQt5.QtGui', + 'QPageSetupDialog': 'PyQt5.QtPrintSupport', + 'QPageSize': 'PyQt5.QtGui', + 'QPagedPaintDevice': 'PyQt5.QtGui', + 'QPaintDevice': 'PyQt5.QtGui', + 'QPaintDeviceWindow': 'PyQt5.QtGui', + 'QPaintEngine': 'PyQt5.QtGui', + 'QPaintEngineState': 'PyQt5.QtGui', + 'QPaintEvent': 'PyQt5.QtGui', + 'QPainter': 'PyQt5.QtGui', + 'QPainterPath': 'PyQt5.QtGui', + 'QPainterPathStroker': 'PyQt5.QtGui', + 'QPalette': 'PyQt5.QtGui', + 'QPanGesture': 'PyQt5.QtWidgets', + 'QParallelAnimationGroup': 'PyQt5.QtCore', + 'QPasswordDigestor': 'PyQt5.QtNetwork', + 'QPauseAnimation': 'PyQt5.QtCore', + 'QPdfWriter': 'PyQt5.QtGui', + 'QPen': 'PyQt5.QtGui', + 'QPersistentModelIndex': 'PyQt5.QtCore', + 'QPicture': 'PyQt5.QtGui', + 'QPictureIO': 'PyQt5.QtGui', + 'QPinchGesture': 'PyQt5.QtWidgets', + 'QPixelFormat': 'PyQt5.QtGui', + 'QPixmap': 'PyQt5.QtGui', + 'QPixmapCache': 'PyQt5.QtGui', + 'QPlainTextDocumentLayout': 'PyQt5.QtWidgets', + 'QPlainTextEdit': 'PyQt5.QtWidgets', + 'QPlatformSurfaceEvent': 'PyQt5.QtGui', + 'QPluginLoader': 'PyQt5.QtCore', + 'QPoint': 'PyQt5.QtCore', + 'QPointF': 'PyQt5.QtCore', + 'QPointingDeviceUniqueId': 'PyQt5.QtGui', + 'QPolygon': 'PyQt5.QtGui', + 'QPolygonF': 'PyQt5.QtGui', + 'QPrintDialog': 'PyQt5.QtPrintSupport', + 'QPrintEngine': 'PyQt5.QtPrintSupport', + 'QPrintPreviewDialog': 'PyQt5.QtPrintSupport', + 'QPrintPreviewWidget': 'PyQt5.QtPrintSupport', + 'QPrinter': 'PyQt5.QtPrintSupport', + 'QPrinterInfo': 'PyQt5.QtPrintSupport', + 'QProcess': 'PyQt5.QtCore', + 'QProcessEnvironment': 'PyQt5.QtCore', + 'QProgressBar': 'PyQt5.QtWidgets', + 'QProgressDialog': 'PyQt5.QtWidgets', + 'QPropertyAnimation': 'PyQt5.QtCore', + 'QProxyStyle': 'PyQt5.QtWidgets', + 'QPushButton': 'PyQt5.QtWidgets', + 'QQuaternion': 'PyQt5.QtGui', + 'QRadialGradient': 'PyQt5.QtGui', + 'QRadioButton': 'PyQt5.QtWidgets', + 'QRandomGenerator': 'PyQt5.QtCore', + 'QRasterWindow': 'PyQt5.QtGui', + 'QRawFont': 'PyQt5.QtGui', + 'QReadLocker': 'PyQt5.QtCore', + 'QReadWriteLock': 'PyQt5.QtCore', + 'QRect': 'PyQt5.QtCore', + 'QRectF': 'PyQt5.QtCore', + 'QRecursiveMutex': 'PyQt5.QtCore', + 'QRegExp': 'PyQt5.QtCore', + 'QRegExpValidator': 'PyQt5.QtGui', + 'QRegion': 'PyQt5.QtGui', + 'QRegularExpression': 'PyQt5.QtCore', + 'QRegularExpressionMatch': 'PyQt5.QtCore', + 'QRegularExpressionMatchIterator': 'PyQt5.QtCore', + 'QRegularExpressionValidator': 'PyQt5.QtGui', + 'QResizeEvent': 'PyQt5.QtGui', + 'QResource': 'PyQt5.QtCore', + 'QRgba64': 'PyQt5.QtGui', + 'QRubberBand': 'PyQt5.QtWidgets', + 'QRunnable': 'PyQt5.QtCore', + 'QSaveFile': 'PyQt5.QtCore', + 'QScreen': 'PyQt5.QtGui', + 'QScrollArea': 'PyQt5.QtWidgets', + 'QScrollBar': 'PyQt5.QtWidgets', + 'QScrollEvent': 'PyQt5.QtGui', + 'QScrollPrepareEvent': 'PyQt5.QtGui', + 'QScroller': 'PyQt5.QtWidgets', + 'QScrollerProperties': 'PyQt5.QtWidgets', + 'QSemaphore': 'PyQt5.QtCore', + 'QSemaphoreReleaser': 'PyQt5.QtCore', + 'QSequentialAnimationGroup': 'PyQt5.QtCore', + 'QSessionManager': 'PyQt5.QtGui', + 'QSettings': 'PyQt5.QtCore', + 'QSharedMemory': 'PyQt5.QtCore', + 'QShortcut': 'PyQt5.QtWidgets', + 'QShortcutEvent': 'PyQt5.QtGui', + 'QShowEvent': 'PyQt5.QtGui', + 'QSignalBlocker': 'PyQt5.QtCore', + 'QSignalMapper': 'PyQt5.QtCore', + 'QSignalTransition': 'PyQt5.QtCore', + 'QSize': 'PyQt5.QtCore', + 'QSizeF': 'PyQt5.QtCore', + 'QSizeGrip': 'PyQt5.QtWidgets', + 'QSizePolicy': 'PyQt5.QtWidgets', + 'QSlider': 'PyQt5.QtWidgets', + 'QSocketNotifier': 'PyQt5.QtCore', + 'QSortFilterProxyModel': 'PyQt5.QtCore', + 'QSpacerItem': 'PyQt5.QtWidgets', + 'QSpinBox': 'PyQt5.QtWidgets', + 'QSplashScreen': 'PyQt5.QtWidgets', + 'QSplitter': 'PyQt5.QtWidgets', + 'QSplitterHandle': 'PyQt5.QtWidgets', + 'QSsl': 'PyQt5.QtNetwork', + 'QSslCertificate': 'PyQt5.QtNetwork', + 'QSslCertificateExtension': 'PyQt5.QtNetwork', + 'QSslCipher': 'PyQt5.QtNetwork', + 'QSslConfiguration': 'PyQt5.QtNetwork', + 'QSslDiffieHellmanParameters': 'PyQt5.QtNetwork', + 'QSslEllipticCurve': 'PyQt5.QtNetwork', + 'QSslError': 'PyQt5.QtNetwork', + 'QSslKey': 'PyQt5.QtNetwork', + 'QSslPreSharedKeyAuthenticator': 'PyQt5.QtNetwork', + 'QSslSocket': 'PyQt5.QtNetwork', + 'QStackedLayout': 'PyQt5.QtWidgets', + 'QStackedWidget': 'PyQt5.QtWidgets', + 'QStandardItem': 'PyQt5.QtGui', + 'QStandardItemModel': 'PyQt5.QtGui', + 'QStandardPaths': 'PyQt5.QtCore', + 'QState': 'PyQt5.QtCore', + 'QStateMachine': 'PyQt5.QtCore', + 'QStaticText': 'PyQt5.QtGui', + 'QStatusBar': 'PyQt5.QtWidgets', + 'QStatusTipEvent': 'PyQt5.QtGui', + 'QStorageInfo': 'PyQt5.QtCore', + 'QStringListModel': 'PyQt5.QtCore', + 'QStyle': 'PyQt5.QtWidgets', + 'QStyleFactory': 'PyQt5.QtWidgets', + 'QStyleHintReturn': 'PyQt5.QtWidgets', + 'QStyleHintReturnMask': 'PyQt5.QtWidgets', + 'QStyleHintReturnVariant': 'PyQt5.QtWidgets', + 'QStyleHints': 'PyQt5.QtGui', + 'QStyleOption': 'PyQt5.QtWidgets', + 'QStyleOptionButton': 'PyQt5.QtWidgets', + 'QStyleOptionComboBox': 'PyQt5.QtWidgets', + 'QStyleOptionComplex': 'PyQt5.QtWidgets', + 'QStyleOptionDockWidget': 'PyQt5.QtWidgets', + 'QStyleOptionFocusRect': 'PyQt5.QtWidgets', + 'QStyleOptionFrame': 'PyQt5.QtWidgets', + 'QStyleOptionGraphicsItem': 'PyQt5.QtWidgets', + 'QStyleOptionGroupBox': 'PyQt5.QtWidgets', + 'QStyleOptionHeader': 'PyQt5.QtWidgets', + 'QStyleOptionMenuItem': 'PyQt5.QtWidgets', + 'QStyleOptionProgressBar': 'PyQt5.QtWidgets', + 'QStyleOptionRubberBand': 'PyQt5.QtWidgets', + 'QStyleOptionSizeGrip': 'PyQt5.QtWidgets', + 'QStyleOptionSlider': 'PyQt5.QtWidgets', + 'QStyleOptionSpinBox': 'PyQt5.QtWidgets', + 'QStyleOptionTab': 'PyQt5.QtWidgets', + 'QStyleOptionTabBarBase': 'PyQt5.QtWidgets', + 'QStyleOptionTabV4': 'PyQt5.QtWidgets', + 'QStyleOptionTabWidgetFrame': 'PyQt5.QtWidgets', + 'QStyleOptionTitleBar': 'PyQt5.QtWidgets', + 'QStyleOptionToolBar': 'PyQt5.QtWidgets', + 'QStyleOptionToolBox': 'PyQt5.QtWidgets', + 'QStyleOptionToolButton': 'PyQt5.QtWidgets', + 'QStyleOptionViewItem': 'PyQt5.QtWidgets', + 'QStylePainter': 'PyQt5.QtWidgets', + 'QStyledItemDelegate': 'PyQt5.QtWidgets', + 'QSurface': 'PyQt5.QtGui', + 'QSurfaceFormat': 'PyQt5.QtGui', + 'QSvgGenerator': 'PyQt5.QtSvg', + 'QSvgRenderer': 'PyQt5.QtSvg', + 'QSvgWidget': 'PyQt5.QtSvg', + 'QSwipeGesture': 'PyQt5.QtWidgets', + 'QSyntaxHighlighter': 'PyQt5.QtGui', + 'QSysInfo': 'PyQt5.QtCore', + 'QSystemSemaphore': 'PyQt5.QtCore', + 'QSystemTrayIcon': 'PyQt5.QtWidgets', + 'QT_TRANSLATE_NOOP': 'PyQt5.QtCore', + 'QT_TR_NOOP': 'PyQt5.QtCore', + 'QT_TR_NOOP_UTF8': 'PyQt5.QtCore', + 'QT_VERSION': 'PyQt5.QtCore', + 'QT_VERSION_STR': 'PyQt5.QtCore', + 'QTabBar': 'PyQt5.QtWidgets', + 'QTabWidget': 'PyQt5.QtWidgets', + 'QTableView': 'PyQt5.QtWidgets', + 'QTableWidget': 'PyQt5.QtWidgets', + 'QTableWidgetItem': 'PyQt5.QtWidgets', + 'QTableWidgetSelectionRange': 'PyQt5.QtWidgets', + 'QTabletEvent': 'PyQt5.QtGui', + 'QTapAndHoldGesture': 'PyQt5.QtWidgets', + 'QTapGesture': 'PyQt5.QtWidgets', + 'QTcpServer': 'PyQt5.QtNetwork', + 'QTcpSocket': 'PyQt5.QtNetwork', + 'QTemporaryDir': 'PyQt5.QtCore', + 'QTemporaryFile': 'PyQt5.QtCore', + 'QTextBlock': 'PyQt5.QtGui', + 'QTextBlockFormat': 'PyQt5.QtGui', + 'QTextBlockGroup': 'PyQt5.QtGui', + 'QTextBlockUserData': 'PyQt5.QtGui', + 'QTextBoundaryFinder': 'PyQt5.QtCore', + 'QTextBrowser': 'PyQt5.QtWidgets', + 'QTextCharFormat': 'PyQt5.QtGui', + 'QTextCodec': 'PyQt5.QtCore', + 'QTextCursor': 'PyQt5.QtGui', + 'QTextDecoder': 'PyQt5.QtCore', + 'QTextDocument': 'PyQt5.QtGui', + 'QTextDocumentFragment': 'PyQt5.QtGui', + 'QTextDocumentWriter': 'PyQt5.QtGui', + 'QTextEdit': 'PyQt5.QtWidgets', + 'QTextEncoder': 'PyQt5.QtCore', + 'QTextFormat': 'PyQt5.QtGui', + 'QTextFragment': 'PyQt5.QtGui', + 'QTextFrame': 'PyQt5.QtGui', + 'QTextFrameFormat': 'PyQt5.QtGui', + 'QTextImageFormat': 'PyQt5.QtGui', + 'QTextInlineObject': 'PyQt5.QtGui', + 'QTextItem': 'PyQt5.QtGui', + 'QTextLayout': 'PyQt5.QtGui', + 'QTextLength': 'PyQt5.QtGui', + 'QTextLine': 'PyQt5.QtGui', + 'QTextList': 'PyQt5.QtGui', + 'QTextListFormat': 'PyQt5.QtGui', + 'QTextObject': 'PyQt5.QtGui', + 'QTextObjectInterface': 'PyQt5.QtGui', + 'QTextOption': 'PyQt5.QtGui', + 'QTextStream': 'PyQt5.QtCore', + 'QTextStreamManipulator': 'PyQt5.QtCore', + 'QTextTable': 'PyQt5.QtGui', + 'QTextTableCell': 'PyQt5.QtGui', + 'QTextTableCellFormat': 'PyQt5.QtGui', + 'QTextTableFormat': 'PyQt5.QtGui', + 'QThread': 'PyQt5.QtCore', + 'QThreadPool': 'PyQt5.QtCore', + 'QTime': 'PyQt5.QtCore', + 'QTimeEdit': 'PyQt5.QtWidgets', + 'QTimeLine': 'PyQt5.QtCore', + 'QTimeZone': 'PyQt5.QtCore', + 'QTimer': 'PyQt5.QtCore', + 'QTimerEvent': 'PyQt5.QtCore', + 'QToolBar': 'PyQt5.QtWidgets', + 'QToolBox': 'PyQt5.QtWidgets', + 'QToolButton': 'PyQt5.QtWidgets', + 'QToolTip': 'PyQt5.QtWidgets', + 'QTouchDevice': 'PyQt5.QtGui', + 'QTouchEvent': 'PyQt5.QtGui', + 'QTransform': 'PyQt5.QtGui', + 'QTranslator': 'PyQt5.QtCore', + 'QTransposeProxyModel': 'PyQt5.QtCore', + 'QTreeView': 'PyQt5.QtWidgets', + 'QTreeWidget': 'PyQt5.QtWidgets', + 'QTreeWidgetItem': 'PyQt5.QtWidgets', + 'QTreeWidgetItemIterator': 'PyQt5.QtWidgets', + 'QUdpSocket': 'PyQt5.QtNetwork', + 'QUndoCommand': 'PyQt5.QtWidgets', + 'QUndoGroup': 'PyQt5.QtWidgets', + 'QUndoStack': 'PyQt5.QtWidgets', + 'QUndoView': 'PyQt5.QtWidgets', + 'QUrl': 'PyQt5.QtCore', + 'QUrlQuery': 'PyQt5.QtCore', + 'QUuid': 'PyQt5.QtCore', + 'QVBoxLayout': 'PyQt5.QtWidgets', + 'QValidator': 'PyQt5.QtGui', + 'QVariant': 'PyQt5.QtCore', + 'QVariantAnimation': 'PyQt5.QtCore', + 'QVector2D': 'PyQt5.QtGui', + 'QVector3D': 'PyQt5.QtGui', + 'QVector4D': 'PyQt5.QtGui', + 'QVersionNumber': 'PyQt5.QtCore', + 'QWIDGETSIZE_MAX': 'PyQt5.QtWidgets', + 'QWaitCondition': 'PyQt5.QtCore', + 'QWhatsThis': 'PyQt5.QtWidgets', + 'QWhatsThisClickedEvent': 'PyQt5.QtGui', + 'QWheelEvent': 'PyQt5.QtGui', + 'QWidget': 'PyQt5.QtWidgets', + 'QWidgetAction': 'PyQt5.QtWidgets', + 'QWidgetItem': 'PyQt5.QtWidgets', + 'QWindow': 'PyQt5.QtGui', + 'QWindowStateChangeEvent': 'PyQt5.QtGui', + 'QWizard': 'PyQt5.QtWidgets', + 'QWizardPage': 'PyQt5.QtWidgets', + 'QWriteLocker': 'PyQt5.QtCore', + 'QXmlStreamAttribute': 'PyQt5.QtCore', + 'QXmlStreamAttributes': 'PyQt5.QtCore', + 'QXmlStreamEntityDeclaration': 'PyQt5.QtCore', + 'QXmlStreamEntityResolver': 'PyQt5.QtCore', + 'QXmlStreamNamespaceDeclaration': 'PyQt5.QtCore', + 'QXmlStreamNotationDeclaration': 'PyQt5.QtCore', + 'QXmlStreamReader': 'PyQt5.QtCore', + 'QXmlStreamWriter': 'PyQt5.QtCore', + 'Q_ARG': 'PyQt5.QtCore', + 'Q_CLASSINFO': 'PyQt5.QtCore', + 'Q_ENUM': 'PyQt5.QtCore', + 'Q_ENUMS': 'PyQt5.QtCore', + 'Q_FLAG': 'PyQt5.QtCore', + 'Q_FLAGS': 'PyQt5.QtCore', + 'Q_RETURN_ARG': 'PyQt5.QtCore', + 'Qt': 'PyQt5.QtCore', + 'QtCriticalMsg': 'PyQt5.QtCore', + 'QtDebugMsg': 'PyQt5.QtCore', + 'QtFatalMsg': 'PyQt5.QtCore', + 'QtInfoMsg': 'PyQt5.QtCore', + 'QtMsgType': 'PyQt5.QtCore', + 'QtSystemMsg': 'PyQt5.QtCore', + 'QtWarningMsg': 'PyQt5.QtCore', + 'bin_': 'PyQt5.QtCore', + 'bom': 'PyQt5.QtCore', + 'center': 'PyQt5.QtCore', + 'dec': 'PyQt5.QtCore', + 'endl': 'PyQt5.QtCore', + 'fixed': 'PyQt5.QtCore', + 'flush': 'PyQt5.QtCore', + 'forcepoint': 'PyQt5.QtCore', + 'forcesign': 'PyQt5.QtCore', + 'hex_': 'PyQt5.QtCore', + 'left': 'PyQt5.QtCore', + 'lowercasebase': 'PyQt5.QtCore', + 'lowercasedigits': 'PyQt5.QtCore', + 'noforcepoint': 'PyQt5.QtCore', + 'noforcesign': 'PyQt5.QtCore', + 'noshowbase': 'PyQt5.QtCore', + 'oct_': 'PyQt5.QtCore', + 'pyqtBoundSignal': 'PyQt5.QtCore', + 'pyqtPickleProtocol': 'PyQt5.QtCore', + 'pyqtProperty': 'PyQt5.QtCore', + 'pyqtRemoveInputHook': 'PyQt5.QtCore', + 'pyqtRestoreInputHook': 'PyQt5.QtCore', + 'pyqtSetPickleProtocol': 'PyQt5.QtCore', + 'pyqtSignal': 'PyQt5.QtCore', + 'pyqtSlot': 'PyQt5.QtCore', + 'qAbs': 'PyQt5.QtCore', + 'qAddPostRoutine': 'PyQt5.QtCore', + 'qAddPreRoutine': 'PyQt5.QtCore', + 'qAlpha': 'PyQt5.QtGui', + 'qApp': 'PyQt5.QtWidgets', + 'qBlue': 'PyQt5.QtGui', + 'qChecksum': 'PyQt5.QtCore', + 'qCompress': 'PyQt5.QtCore', + 'qCritical': 'PyQt5.QtCore', + 'qDebug': 'PyQt5.QtCore', + 'qDrawBorderPixmap': 'PyQt5.QtWidgets', + 'qDrawPlainRect': 'PyQt5.QtWidgets', + 'qDrawShadeLine': 'PyQt5.QtWidgets', + 'qDrawShadePanel': 'PyQt5.QtWidgets', + 'qDrawShadeRect': 'PyQt5.QtWidgets', + 'qDrawWinButton': 'PyQt5.QtWidgets', + 'qDrawWinPanel': 'PyQt5.QtWidgets', + 'qEnvironmentVariable': 'PyQt5.QtCore', + 'qErrnoWarning': 'PyQt5.QtCore', + 'qFatal': 'PyQt5.QtCore', + 'qFloatDistance': 'PyQt5.QtCore', + 'qFormatLogMessage': 'PyQt5.QtCore', + 'qFuzzyCompare': 'PyQt5.QtCore', + 'qGray': 'PyQt5.QtGui', + 'qGreen': 'PyQt5.QtGui', + 'qInf': 'PyQt5.QtCore', + 'qInfo': 'PyQt5.QtCore', + 'qInstallMessageHandler': 'PyQt5.QtCore', + 'qIsFinite': 'PyQt5.QtCore', + 'qIsGray': 'PyQt5.QtGui', + 'qIsInf': 'PyQt5.QtCore', + 'qIsNaN': 'PyQt5.QtCore', + 'qIsNull': 'PyQt5.QtCore', + 'qPixelFormatAlpha': 'PyQt5.QtGui', + 'qPixelFormatCmyk': 'PyQt5.QtGui', + 'qPixelFormatGrayscale': 'PyQt5.QtGui', + 'qPixelFormatHsl': 'PyQt5.QtGui', + 'qPixelFormatHsv': 'PyQt5.QtGui', + 'qPixelFormatRgba': 'PyQt5.QtGui', + 'qPixelFormatYuv': 'PyQt5.QtGui', + 'qPremultiply': 'PyQt5.QtGui', + 'qQNaN': 'PyQt5.QtCore', + 'qRed': 'PyQt5.QtGui', + 'qRegisterResourceData': 'PyQt5.QtCore', + 'qRemovePostRoutine': 'PyQt5.QtCore', + 'qRgb': 'PyQt5.QtGui', + 'qRgba': 'PyQt5.QtGui', + 'qRgba64': 'PyQt5.QtGui', + 'qRound': 'PyQt5.QtCore', + 'qRound64': 'PyQt5.QtCore', + 'qSNaN': 'PyQt5.QtCore', + 'qSetFieldWidth': 'PyQt5.QtCore', + 'qSetMessagePattern': 'PyQt5.QtCore', + 'qSetPadChar': 'PyQt5.QtCore', + 'qSetRealNumberPrecision': 'PyQt5.QtCore', + 'qSharedBuild': 'PyQt5.QtCore', + 'qUncompress': 'PyQt5.QtCore', + 'qUnpremultiply': 'PyQt5.QtGui', + 'qUnregisterResourceData': 'PyQt5.QtCore', + 'qVersion': 'PyQt5.QtCore', + 'qWarning': 'PyQt5.QtCore', + 'qrand': 'PyQt5.QtCore', + 'qsrand': 'PyQt5.QtCore', + 'qt_set_sequence_auto_mnemonic': 'PyQt5.QtGui', + 'reset': 'PyQt5.QtCore', + 'right': 'PyQt5.QtCore', + 'scientific': 'PyQt5.QtCore', + 'showbase': 'PyQt5.QtCore', + 'uppercasebase': 'PyQt5.QtCore', + 'uppercasedigits': 'PyQt5.QtCore', + 'ws': 'PyQt5.QtCore'} diff --git a/src/qt/loader.py b/src/qt/loader.py new file mode 100644 index 0000000000..f25fff24dc --- /dev/null +++ b/src/qt/loader.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 +# License: GPL v3 Copyright: 2021, Kovid Goyal + +from importlib import import_module +import sys + + +def dynamic_load(name, name_map, already_imported, qt_modules): + ans = already_imported.get(name, already_imported) + if ans is not already_imported: + return ans + mod_name = name_map.get(name) + if mod_name is not None: + mod = qt_modules.get(mod_name) + if mod is None: + try: + mod = qt_modules[mod_name] = import_module(mod_name) + except ImportError as err: + mod = qt_modules[mod_name] = False + print( + 'Failed to import PyQt module:', + mod_name, + 'with error:', + err, + file=sys.stderr + ) + if mod is not False: + q = getattr(mod, name, qt_modules) + if q is not qt_modules: + already_imported[name] = q + return q + raise AttributeError(f'The object {name} is not a known Qt object') diff --git a/src/qt/webengine.py b/src/qt/webengine.py new file mode 100644 index 0000000000..70d956f7ea --- /dev/null +++ b/src/qt/webengine.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python +# vim:fileencoding=utf-8 +# License: GPL v3 Copyright: 2021, Kovid Goyal + + +from .loader import dynamic_load +from .webengine_name_map import name_map + +already_imported = {} +qt_modules = {} + + +def __getattr__(name): + return dynamic_load(name, name_map, already_imported, qt_modules) diff --git a/src/qt/webengine.pyi b/src/qt/webengine.pyi new file mode 100644 index 0000000000..d557ce863c --- /dev/null +++ b/src/qt/webengine.pyi @@ -0,0 +1,35 @@ +# autogenerated by __main__.py do not edit +PYQT_WEBENGINE_VERSION = PyQt5.QtWebEngine.PYQT_WEBENGINE_VERSION +PYQT_WEBENGINE_VERSION_STR = PyQt5.QtWebEngine.PYQT_WEBENGINE_VERSION_STR +QQuickWebEngineProfile = PyQt5.QtWebEngine.QQuickWebEngineProfile +QQuickWebEngineScript = PyQt5.QtWebEngine.QQuickWebEngineScript +QWebEngineCertificateError = PyQt5.QtWebEngineWidgets.QWebEngineCertificateError +QWebEngineClientCertificateSelection = PyQt5.QtWebEngineWidgets.QWebEngineClientCertificateSelection +QWebEngineClientCertificateStore = PyQt5.QtWebEngineCore.QWebEngineClientCertificateStore +QWebEngineContextMenuData = PyQt5.QtWebEngineWidgets.QWebEngineContextMenuData +QWebEngineCookieStore = PyQt5.QtWebEngineCore.QWebEngineCookieStore +QWebEngineDownloadItem = PyQt5.QtWebEngineWidgets.QWebEngineDownloadItem +QWebEngineFindTextResult = PyQt5.QtWebEngineCore.QWebEngineFindTextResult +QWebEngineFullScreenRequest = PyQt5.QtWebEngineWidgets.QWebEngineFullScreenRequest +QWebEngineHistory = PyQt5.QtWebEngineWidgets.QWebEngineHistory +QWebEngineHistoryItem = PyQt5.QtWebEngineWidgets.QWebEngineHistoryItem +QWebEngineHttpRequest = PyQt5.QtWebEngineCore.QWebEngineHttpRequest +QWebEngineNotification = PyQt5.QtWebEngineCore.QWebEngineNotification +QWebEnginePage = PyQt5.QtWebEngineWidgets.QWebEnginePage +QWebEngineProfile = PyQt5.QtWebEngineWidgets.QWebEngineProfile +QWebEngineQuotaRequest = PyQt5.QtWebEngineCore.QWebEngineQuotaRequest +QWebEngineRegisterProtocolHandlerRequest = PyQt5.QtWebEngineCore.QWebEngineRegisterProtocolHandlerRequest +QWebEngineScript = PyQt5.QtWebEngineWidgets.QWebEngineScript +QWebEngineScriptCollection = PyQt5.QtWebEngineWidgets.QWebEngineScriptCollection +QWebEngineSettings = PyQt5.QtWebEngineWidgets.QWebEngineSettings +QWebEngineUrlRequestInfo = PyQt5.QtWebEngineCore.QWebEngineUrlRequestInfo +QWebEngineUrlRequestInterceptor = PyQt5.QtWebEngineCore.QWebEngineUrlRequestInterceptor +QWebEngineUrlRequestJob = PyQt5.QtWebEngineCore.QWebEngineUrlRequestJob +QWebEngineUrlScheme = PyQt5.QtWebEngineCore.QWebEngineUrlScheme +QWebEngineUrlSchemeHandler = PyQt5.QtWebEngineCore.QWebEngineUrlSchemeHandler +QWebEngineView = PyQt5.QtWebEngineWidgets.QWebEngineView +QtWebEngine = PyQt5.QtWebEngine.QtWebEngine +QtWebEngineCore = PyQt5.QtWebEngineCore.QtWebEngineCore +import PyQt5.QtWebEngine +import PyQt5.QtWebEngineCore +import PyQt5.QtWebEngineWidgets \ No newline at end of file diff --git a/src/qt/webengine_name_map.py b/src/qt/webengine_name_map.py new file mode 100644 index 0000000000..5edac42503 --- /dev/null +++ b/src/qt/webengine_name_map.py @@ -0,0 +1,32 @@ +# autogenerated by __main__.py do not edit +name_map = {'PYQT_WEBENGINE_VERSION': 'PyQt5.QtWebEngine', + 'PYQT_WEBENGINE_VERSION_STR': 'PyQt5.QtWebEngine', + 'QQuickWebEngineProfile': 'PyQt5.QtWebEngine', + 'QQuickWebEngineScript': 'PyQt5.QtWebEngine', + 'QWebEngineCertificateError': 'PyQt5.QtWebEngineWidgets', + 'QWebEngineClientCertificateSelection': 'PyQt5.QtWebEngineWidgets', + 'QWebEngineClientCertificateStore': 'PyQt5.QtWebEngineCore', + 'QWebEngineContextMenuData': 'PyQt5.QtWebEngineWidgets', + 'QWebEngineCookieStore': 'PyQt5.QtWebEngineCore', + 'QWebEngineDownloadItem': 'PyQt5.QtWebEngineWidgets', + 'QWebEngineFindTextResult': 'PyQt5.QtWebEngineCore', + 'QWebEngineFullScreenRequest': 'PyQt5.QtWebEngineWidgets', + 'QWebEngineHistory': 'PyQt5.QtWebEngineWidgets', + 'QWebEngineHistoryItem': 'PyQt5.QtWebEngineWidgets', + 'QWebEngineHttpRequest': 'PyQt5.QtWebEngineCore', + 'QWebEngineNotification': 'PyQt5.QtWebEngineCore', + 'QWebEnginePage': 'PyQt5.QtWebEngineWidgets', + 'QWebEngineProfile': 'PyQt5.QtWebEngineWidgets', + 'QWebEngineQuotaRequest': 'PyQt5.QtWebEngineCore', + 'QWebEngineRegisterProtocolHandlerRequest': 'PyQt5.QtWebEngineCore', + 'QWebEngineScript': 'PyQt5.QtWebEngineWidgets', + 'QWebEngineScriptCollection': 'PyQt5.QtWebEngineWidgets', + 'QWebEngineSettings': 'PyQt5.QtWebEngineWidgets', + 'QWebEngineUrlRequestInfo': 'PyQt5.QtWebEngineCore', + 'QWebEngineUrlRequestInterceptor': 'PyQt5.QtWebEngineCore', + 'QWebEngineUrlRequestJob': 'PyQt5.QtWebEngineCore', + 'QWebEngineUrlScheme': 'PyQt5.QtWebEngineCore', + 'QWebEngineUrlSchemeHandler': 'PyQt5.QtWebEngineCore', + 'QWebEngineView': 'PyQt5.QtWebEngineWidgets', + 'QtWebEngine': 'PyQt5.QtWebEngine', + 'QtWebEngineCore': 'PyQt5.QtWebEngineCore'}