mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Add Qt text to speech module to binary builds
This commit is contained in:
parent
c778211992
commit
37169709f3
@ -24,20 +24,22 @@ dlls = [
|
||||
# 'WebView',
|
||||
'Positioning',
|
||||
'Sensors',
|
||||
'SpatialAudio',
|
||||
'Sql',
|
||||
'Svg',
|
||||
'TextToSpeech',
|
||||
'WebChannel',
|
||||
'WebEngineCore',
|
||||
'WebEngineWidgets',
|
||||
'Widgets',
|
||||
# 'Multimedia',
|
||||
'Multimedia',
|
||||
'MultimediaWidgets',
|
||||
'OpenGL',
|
||||
'OpenGLWidgets',
|
||||
'Quick',
|
||||
'QuickWidgets',
|
||||
'Qml',
|
||||
'QmlModels',
|
||||
# 'MultimediaWidgets',
|
||||
'Xml',
|
||||
# 'XmlPatterns',
|
||||
]
|
||||
@ -56,6 +58,8 @@ QT_PLUGINS = [
|
||||
'imageformats',
|
||||
'iconengines',
|
||||
'tls',
|
||||
'multimedia',
|
||||
'texttospeech',
|
||||
# 'mediaservice',
|
||||
'platforms',
|
||||
# 'playlistformats',
|
||||
@ -82,7 +86,8 @@ PYQT_MODULES = (
|
||||
'QtCore',
|
||||
'QtGui',
|
||||
'QtNetwork',
|
||||
# 'QtMultimedia', 'QtMultimediaWidgets',
|
||||
'QtMultimedia', 'QtMultimediaWidgets',
|
||||
'QtTextToSpeech',
|
||||
'QtPrintSupport',
|
||||
'QtSensors',
|
||||
'QtSvg',
|
||||
|
@ -2,4 +2,4 @@ image 'https://cloud-images.ubuntu.com/releases/jammy/release/ubuntu-22.04-serve
|
||||
|
||||
# Build time deps for Qt. See https://doc.qt.io/qt-6/linux-requirements.html and
|
||||
# https://doc.qt.io/qt-6/qtwebengine-platform-notes.html
|
||||
deps 'flex bison gperf ruby python2 libx11-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libx11-xcb-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-xinerama0-dev libxcb-util-dev xkb-data libglu1-mesa-dev libxkbcommon-dev libinput-dev libxkbcommon-x11-dev libxkbfile-dev libgtk2.0-dev libvulkan-dev libwayland-dev libwayland-egl1-mesa libxcb-xkb-dev libegl1-mesa-dev libxtst-dev libnss3-dev libfreetype6-dev libfontconfig-dev libdrm-dev libxshmfence-dev libcups2-dev libxcb-cursor-dev libgbm-dev'
|
||||
deps 'flex bison gperf ruby python2 libx11-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libx11-xcb-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-xinerama0-dev libxcb-util-dev xkb-data libglu1-mesa-dev libxkbcommon-dev libinput-dev libxkbcommon-x11-dev libxkbfile-dev libgtk2.0-dev libvulkan-dev libwayland-dev libwayland-egl1-mesa libxcb-xkb-dev libegl1-mesa-dev libxtst-dev libnss3-dev libfreetype6-dev libfontconfig-dev libdrm-dev libxshmfence-dev libcups2-dev libxcb-cursor-dev libgbm-dev libpulse-dev libasound2-dev flite1-dev libspeechd-dev'
|
||||
|
@ -571,6 +571,20 @@
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"name": "qt-multimedia",
|
||||
"hashes": {
|
||||
"unix": "sha256:8ef835115acb9a1d3d2c9f23cfacb43f2c537e3786a8ab822299a2a7765651d3"
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"name": "qt-speech",
|
||||
"hashes": {
|
||||
"unix": "sha256:cc8c769404e3e49713be304a73f936890a1ef2f88d590732785f34692a4814ce"
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"name": "qt-webengine",
|
||||
"hashes": {
|
||||
|
@ -114,7 +114,7 @@ def run_python(*args):
|
||||
def install_linux_deps():
|
||||
run('sudo', 'apt-get', 'update', '-y')
|
||||
# run('sudo', 'apt-get', 'upgrade', '-y')
|
||||
run('sudo', 'apt-get', 'install', '-y', 'gettext', 'libgl1-mesa-dev', 'libxkbcommon-dev', 'libxkbcommon-x11-dev')
|
||||
run('sudo', 'apt-get', 'install', '-y', 'gettext', 'libgl1-mesa-dev', 'libxkbcommon-dev', 'libxkbcommon-x11-dev', 'libflite1', 'libspeechd2')
|
||||
|
||||
|
||||
def get_tx():
|
||||
|
@ -314,7 +314,7 @@ class BuildTest(unittest.TestCase):
|
||||
def test_qt(self):
|
||||
if is_sanitized:
|
||||
raise unittest.SkipTest('Skipping Qt build test as sanitizer is enabled')
|
||||
from qt.core import QApplication, QFontDatabase, QImageReader, QLoggingCategory, QNetworkAccessManager, QSslSocket, QTimer
|
||||
from qt.core import QApplication, QFontDatabase, QImageReader, QLoggingCategory, QNetworkAccessManager, QSslSocket, QTimer, QTextToSpeech
|
||||
QLoggingCategory.setFilterRules('''qt.webenginecontext.debug=true''')
|
||||
if hasattr(os, 'geteuid') and os.geteuid() == 0:
|
||||
# likely a container build, webengine cannot run as root with sandbox
|
||||
@ -348,6 +348,10 @@ class BuildTest(unittest.TestCase):
|
||||
try:
|
||||
ensure_app()
|
||||
self.assertGreaterEqual(len(QFontDatabase.families()), 5, 'The QPA headless plugin is not able to locate enough system fonts via fontconfig')
|
||||
available_tts_engines = tuple(x for x in QTextToSpeech.availableEngines() if x != 'mock')
|
||||
self.assertTrue(available_tts_engines)
|
||||
|
||||
self.assertGreaterEqual
|
||||
from calibre.ebooks.oeb.transforms.rasterize import rasterize_svg
|
||||
img = rasterize_svg(as_qimage=True)
|
||||
self.assertFalse(img.isNull())
|
||||
|
@ -1,5 +1,5 @@
|
||||
# autogenerated by __main__.py do not edit
|
||||
top_level_module_names=('QtCore', 'QtGui', 'QtWidgets', 'QtNetwork', 'QtSvg', 'QtPrintSupport', 'QtOpenGL', 'QtOpenGLWidgets', 'QtQuick', 'QtWebEngineCore', 'QtWebEngineWidgets', 'QtDBus')
|
||||
top_level_module_names=('QtCore', 'QtGui', 'QtWidgets', 'QtNetwork', 'QtSvg', 'QtPrintSupport', 'QtOpenGL', 'QtOpenGLWidgets', 'QtQuick', 'QtMultimedia', 'QtMultimediaWidgets', 'QtTextToSpeech', 'QtWebEngineCore', 'QtWebEngineWidgets', 'QtDBus')
|
||||
|
||||
|
||||
def __getattr__(name):
|
||||
|
@ -20,6 +20,7 @@ module_lists = {
|
||||
'QtOpenGL',
|
||||
'QtOpenGLWidgets',
|
||||
'QtQuick',
|
||||
'QtMultimedia', 'QtMultimediaWidgets', 'QtTextToSpeech',
|
||||
),
|
||||
'webengine': (
|
||||
'QtWebEngineCore',
|
||||
|
@ -1,6 +1,5 @@
|
||||
# autogenerated by __main__.py do not edit
|
||||
import PyQt6.QtCore
|
||||
|
||||
PYQT_VERSION = PyQt6.QtCore.PYQT_VERSION
|
||||
PYQT_VERSION_STR = PyQt6.QtCore.PYQT_VERSION_STR
|
||||
QAbstractAnimation = PyQt6.QtCore.QAbstractAnimation
|
||||
@ -13,10 +12,13 @@ QAbstractTableModel = PyQt6.QtCore.QAbstractTableModel
|
||||
QAnimationGroup = PyQt6.QtCore.QAnimationGroup
|
||||
QBasicTimer = PyQt6.QtCore.QBasicTimer
|
||||
QBitArray = PyQt6.QtCore.QBitArray
|
||||
QBluetoothPermission = PyQt6.QtCore.QBluetoothPermission
|
||||
QBuffer = PyQt6.QtCore.QBuffer
|
||||
QByteArray = PyQt6.QtCore.QByteArray
|
||||
QByteArrayMatcher = PyQt6.QtCore.QByteArrayMatcher
|
||||
QCalendar = PyQt6.QtCore.QCalendar
|
||||
QCalendarPermission = PyQt6.QtCore.QCalendarPermission
|
||||
QCameraPermission = PyQt6.QtCore.QCameraPermission
|
||||
QCborError = PyQt6.QtCore.QCborError
|
||||
QCborKnownTags = PyQt6.QtCore.QCborKnownTags
|
||||
QCborSimpleType = PyQt6.QtCore.QCborSimpleType
|
||||
@ -28,6 +30,7 @@ QCollatorSortKey = PyQt6.QtCore.QCollatorSortKey
|
||||
QCommandLineOption = PyQt6.QtCore.QCommandLineOption
|
||||
QCommandLineParser = PyQt6.QtCore.QCommandLineParser
|
||||
QConcatenateTablesProxyModel = PyQt6.QtCore.QConcatenateTablesProxyModel
|
||||
QContactsPermission = PyQt6.QtCore.QContactsPermission
|
||||
QCoreApplication = PyQt6.QtCore.QCoreApplication
|
||||
QCryptographicHash = PyQt6.QtCore.QCryptographicHash
|
||||
QDataStream = PyQt6.QtCore.QDataStream
|
||||
@ -64,6 +67,7 @@ QLibraryInfo = PyQt6.QtCore.QLibraryInfo
|
||||
QLine = PyQt6.QtCore.QLine
|
||||
QLineF = PyQt6.QtCore.QLineF
|
||||
QLocale = PyQt6.QtCore.QLocale
|
||||
QLocationPermission = PyQt6.QtCore.QLocationPermission
|
||||
QLockFile = PyQt6.QtCore.QLockFile
|
||||
QLoggingCategory = PyQt6.QtCore.QLoggingCategory
|
||||
QMargins = PyQt6.QtCore.QMargins
|
||||
@ -77,19 +81,23 @@ QMetaMethod = PyQt6.QtCore.QMetaMethod
|
||||
QMetaObject = PyQt6.QtCore.QMetaObject
|
||||
QMetaProperty = PyQt6.QtCore.QMetaProperty
|
||||
QMetaType = PyQt6.QtCore.QMetaType
|
||||
QMicrophonePermission = PyQt6.QtCore.QMicrophonePermission
|
||||
QMimeData = PyQt6.QtCore.QMimeData
|
||||
QMimeDatabase = PyQt6.QtCore.QMimeDatabase
|
||||
QMimeType = PyQt6.QtCore.QMimeType
|
||||
QModelIndex = PyQt6.QtCore.QModelIndex
|
||||
QModelRoleData = PyQt6.QtCore.QModelRoleData
|
||||
QModelRoleDataSpan = PyQt6.QtCore.QModelRoleDataSpan
|
||||
QMutex = PyQt6.QtCore.QMutex
|
||||
QMutexLocker = PyQt6.QtCore.QMutexLocker
|
||||
QNativeIpcKey = PyQt6.QtCore.QNativeIpcKey
|
||||
QObject = PyQt6.QtCore.QObject
|
||||
QObjectCleanupHandler = PyQt6.QtCore.QObjectCleanupHandler
|
||||
QOperatingSystemVersion = PyQt6.QtCore.QOperatingSystemVersion
|
||||
QOperatingSystemVersionBase = PyQt6.QtCore.QOperatingSystemVersionBase
|
||||
QParallelAnimationGroup = PyQt6.QtCore.QParallelAnimationGroup
|
||||
QPauseAnimation = PyQt6.QtCore.QPauseAnimation
|
||||
QPermission = PyQt6.QtCore.QPermission
|
||||
QPersistentModelIndex = PyQt6.QtCore.QPersistentModelIndex
|
||||
QPluginLoader = PyQt6.QtCore.QPluginLoader
|
||||
QPoint = PyQt6.QtCore.QPoint
|
||||
@ -193,6 +201,7 @@ qFatal = PyQt6.QtCore.qFatal
|
||||
qFloatDistance = PyQt6.QtCore.qFloatDistance
|
||||
qFormatLogMessage = PyQt6.QtCore.qFormatLogMessage
|
||||
qFuzzyCompare = PyQt6.QtCore.qFuzzyCompare
|
||||
qFuzzyIsNull = PyQt6.QtCore.qFuzzyIsNull
|
||||
qInf = PyQt6.QtCore.qInf
|
||||
qInfo = PyQt6.QtCore.qInfo
|
||||
qInstallMessageHandler = PyQt6.QtCore.qInstallMessageHandler
|
||||
@ -213,8 +222,8 @@ qUncompress = PyQt6.QtCore.qUncompress
|
||||
qUnregisterResourceData = PyQt6.QtCore.qUnregisterResourceData
|
||||
qVersion = PyQt6.QtCore.qVersion
|
||||
qWarning = PyQt6.QtCore.qWarning
|
||||
qYieldCpu = PyQt6.QtCore.qYieldCpu
|
||||
import PyQt6.QtGui
|
||||
|
||||
QAbstractFileIconProvider = PyQt6.QtGui.QAbstractFileIconProvider
|
||||
QAbstractTextDocumentLayout = PyQt6.QtGui.QAbstractTextDocumentLayout
|
||||
QAction = PyQt6.QtGui.QAction
|
||||
@ -223,6 +232,7 @@ QActionGroup = PyQt6.QtGui.QActionGroup
|
||||
QBackingStore = PyQt6.QtGui.QBackingStore
|
||||
QBitmap = PyQt6.QtGui.QBitmap
|
||||
QBrush = PyQt6.QtGui.QBrush
|
||||
QChildWindowEvent = PyQt6.QtGui.QChildWindowEvent
|
||||
QClipboard = PyQt6.QtGui.QClipboard
|
||||
QCloseEvent = PyQt6.QtGui.QCloseEvent
|
||||
QColor = PyQt6.QtGui.QColor
|
||||
@ -398,7 +408,6 @@ qRgba64 = PyQt6.QtGui.qRgba64
|
||||
qUnpremultiply = PyQt6.QtGui.qUnpremultiply
|
||||
qt_set_sequence_auto_mnemonic = PyQt6.QtGui.qt_set_sequence_auto_mnemonic
|
||||
import PyQt6.QtWidgets
|
||||
|
||||
QAbstractButton = PyQt6.QtWidgets.QAbstractButton
|
||||
QAbstractGraphicsShapeItem = PyQt6.QtWidgets.QAbstractGraphicsShapeItem
|
||||
QAbstractItemDelegate = PyQt6.QtWidgets.QAbstractItemDelegate
|
||||
@ -586,13 +595,13 @@ QWizard = PyQt6.QtWidgets.QWizard
|
||||
QWizardPage = PyQt6.QtWidgets.QWizardPage
|
||||
qDrawBorderPixmap = PyQt6.QtWidgets.qDrawBorderPixmap
|
||||
qDrawPlainRect = PyQt6.QtWidgets.qDrawPlainRect
|
||||
qDrawPlainRoundedRect = PyQt6.QtWidgets.qDrawPlainRoundedRect
|
||||
qDrawShadeLine = PyQt6.QtWidgets.qDrawShadeLine
|
||||
qDrawShadePanel = PyQt6.QtWidgets.qDrawShadePanel
|
||||
qDrawShadeRect = PyQt6.QtWidgets.qDrawShadeRect
|
||||
qDrawWinButton = PyQt6.QtWidgets.qDrawWinButton
|
||||
qDrawWinPanel = PyQt6.QtWidgets.qDrawWinPanel
|
||||
import PyQt6.QtNetwork
|
||||
|
||||
QAbstractNetworkCache = PyQt6.QtNetwork.QAbstractNetworkCache
|
||||
QAbstractSocket = PyQt6.QtNetwork.QAbstractSocket
|
||||
QAuthenticator = PyQt6.QtNetwork.QAuthenticator
|
||||
@ -605,7 +614,9 @@ QDnsTextRecord = PyQt6.QtNetwork.QDnsTextRecord
|
||||
QHostAddress = PyQt6.QtNetwork.QHostAddress
|
||||
QHostInfo = PyQt6.QtNetwork.QHostInfo
|
||||
QHstsPolicy = PyQt6.QtNetwork.QHstsPolicy
|
||||
QHttp1Configuration = PyQt6.QtNetwork.QHttp1Configuration
|
||||
QHttp2Configuration = PyQt6.QtNetwork.QHttp2Configuration
|
||||
QHttpHeaders = PyQt6.QtNetwork.QHttpHeaders
|
||||
QHttpMultiPart = PyQt6.QtNetwork.QHttpMultiPart
|
||||
QHttpPart = PyQt6.QtNetwork.QHttpPart
|
||||
QLocalServer = PyQt6.QtNetwork.QLocalServer
|
||||
@ -638,16 +649,15 @@ QSslEllipticCurve = PyQt6.QtNetwork.QSslEllipticCurve
|
||||
QSslError = PyQt6.QtNetwork.QSslError
|
||||
QSslKey = PyQt6.QtNetwork.QSslKey
|
||||
QSslPreSharedKeyAuthenticator = PyQt6.QtNetwork.QSslPreSharedKeyAuthenticator
|
||||
QSslServer = PyQt6.QtNetwork.QSslServer
|
||||
QSslSocket = PyQt6.QtNetwork.QSslSocket
|
||||
QTcpServer = PyQt6.QtNetwork.QTcpServer
|
||||
QTcpSocket = PyQt6.QtNetwork.QTcpSocket
|
||||
QUdpSocket = PyQt6.QtNetwork.QUdpSocket
|
||||
import PyQt6.QtSvg
|
||||
|
||||
QSvgGenerator = PyQt6.QtSvg.QSvgGenerator
|
||||
QSvgRenderer = PyQt6.QtSvg.QSvgRenderer
|
||||
import PyQt6.QtPrintSupport
|
||||
|
||||
QAbstractPrintDialog = PyQt6.QtPrintSupport.QAbstractPrintDialog
|
||||
QPageSetupDialog = PyQt6.QtPrintSupport.QPageSetupDialog
|
||||
QPrintDialog = PyQt6.QtPrintSupport.QPrintDialog
|
||||
@ -657,7 +667,6 @@ QPrintPreviewWidget = PyQt6.QtPrintSupport.QPrintPreviewWidget
|
||||
QPrinter = PyQt6.QtPrintSupport.QPrinter
|
||||
QPrinterInfo = PyQt6.QtPrintSupport.QPrinterInfo
|
||||
import PyQt6.QtOpenGL
|
||||
|
||||
QAbstractOpenGLFunctions = PyQt6.QtOpenGL.QAbstractOpenGLFunctions
|
||||
QOpenGLBuffer = PyQt6.QtOpenGL.QOpenGLBuffer
|
||||
QOpenGLDebugLogger = PyQt6.QtOpenGL.QOpenGLDebugLogger
|
||||
@ -680,10 +689,8 @@ QOpenGLVersionProfile = PyQt6.QtOpenGL.QOpenGLVersionProfile
|
||||
QOpenGLVertexArrayObject = PyQt6.QtOpenGL.QOpenGLVertexArrayObject
|
||||
QOpenGLWindow = PyQt6.QtOpenGL.QOpenGLWindow
|
||||
import PyQt6.QtOpenGLWidgets
|
||||
|
||||
QOpenGLWidget = PyQt6.QtOpenGLWidgets.QOpenGLWidget
|
||||
import PyQt6.QtQuick
|
||||
|
||||
QNativeInterface = PyQt6.QtQuick.QNativeInterface
|
||||
QQuickAsyncImageProvider = PyQt6.QtQuick.QQuickAsyncImageProvider
|
||||
QQuickCloseEvent = PyQt6.QtQuick.QQuickCloseEvent
|
||||
@ -719,8 +726,44 @@ QSGRenderNode = PyQt6.QtQuick.QSGRenderNode
|
||||
QSGRendererInterface = PyQt6.QtQuick.QSGRendererInterface
|
||||
QSGSimpleRectNode = PyQt6.QtQuick.QSGSimpleRectNode
|
||||
QSGSimpleTextureNode = PyQt6.QtQuick.QSGSimpleTextureNode
|
||||
QSGTextNode = PyQt6.QtQuick.QSGTextNode
|
||||
QSGTexture = PyQt6.QtQuick.QSGTexture
|
||||
QSGTextureMaterial = PyQt6.QtQuick.QSGTextureMaterial
|
||||
QSGTextureProvider = PyQt6.QtQuick.QSGTextureProvider
|
||||
QSGTransformNode = PyQt6.QtQuick.QSGTransformNode
|
||||
QSGVertexColorMaterial = PyQt6.QtQuick.QSGVertexColorMaterial
|
||||
QSGVertexColorMaterial = PyQt6.QtQuick.QSGVertexColorMaterial
|
||||
import PyQt6.QtMultimedia
|
||||
QAudio = PyQt6.QtMultimedia.QAudio
|
||||
QAudioBuffer = PyQt6.QtMultimedia.QAudioBuffer
|
||||
QAudioDecoder = PyQt6.QtMultimedia.QAudioDecoder
|
||||
QAudioDevice = PyQt6.QtMultimedia.QAudioDevice
|
||||
QAudioFormat = PyQt6.QtMultimedia.QAudioFormat
|
||||
QAudioInput = PyQt6.QtMultimedia.QAudioInput
|
||||
QAudioOutput = PyQt6.QtMultimedia.QAudioOutput
|
||||
QAudioSink = PyQt6.QtMultimedia.QAudioSink
|
||||
QAudioSource = PyQt6.QtMultimedia.QAudioSource
|
||||
QCamera = PyQt6.QtMultimedia.QCamera
|
||||
QCameraDevice = PyQt6.QtMultimedia.QCameraDevice
|
||||
QCameraFormat = PyQt6.QtMultimedia.QCameraFormat
|
||||
QCapturableWindow = PyQt6.QtMultimedia.QCapturableWindow
|
||||
QImageCapture = PyQt6.QtMultimedia.QImageCapture
|
||||
QMediaCaptureSession = PyQt6.QtMultimedia.QMediaCaptureSession
|
||||
QMediaDevices = PyQt6.QtMultimedia.QMediaDevices
|
||||
QMediaFormat = PyQt6.QtMultimedia.QMediaFormat
|
||||
QMediaMetaData = PyQt6.QtMultimedia.QMediaMetaData
|
||||
QMediaPlayer = PyQt6.QtMultimedia.QMediaPlayer
|
||||
QMediaRecorder = PyQt6.QtMultimedia.QMediaRecorder
|
||||
QMediaTimeRange = PyQt6.QtMultimedia.QMediaTimeRange
|
||||
QScreenCapture = PyQt6.QtMultimedia.QScreenCapture
|
||||
QSoundEffect = PyQt6.QtMultimedia.QSoundEffect
|
||||
QVideoFrame = PyQt6.QtMultimedia.QVideoFrame
|
||||
QVideoFrameFormat = PyQt6.QtMultimedia.QVideoFrameFormat
|
||||
QVideoSink = PyQt6.QtMultimedia.QVideoSink
|
||||
QWindowCapture = PyQt6.QtMultimedia.QWindowCapture
|
||||
QtVideo = PyQt6.QtMultimedia.QtVideo
|
||||
import PyQt6.QtMultimediaWidgets
|
||||
QGraphicsVideoItem = PyQt6.QtMultimediaWidgets.QGraphicsVideoItem
|
||||
QVideoWidget = PyQt6.QtMultimediaWidgets.QVideoWidget
|
||||
import PyQt6.QtTextToSpeech
|
||||
QTextToSpeech = PyQt6.QtTextToSpeech.QTextToSpeech
|
||||
QVoice = PyQt6.QtTextToSpeech.QVoice
|
@ -26,11 +26,21 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore',
|
||||
'QActionGroup': 'PyQt6.QtGui',
|
||||
'QAnimationGroup': 'PyQt6.QtCore',
|
||||
'QApplication': 'PyQt6.QtWidgets',
|
||||
'QAudio': 'PyQt6.QtMultimedia',
|
||||
'QAudioBuffer': 'PyQt6.QtMultimedia',
|
||||
'QAudioDecoder': 'PyQt6.QtMultimedia',
|
||||
'QAudioDevice': 'PyQt6.QtMultimedia',
|
||||
'QAudioFormat': 'PyQt6.QtMultimedia',
|
||||
'QAudioInput': 'PyQt6.QtMultimedia',
|
||||
'QAudioOutput': 'PyQt6.QtMultimedia',
|
||||
'QAudioSink': 'PyQt6.QtMultimedia',
|
||||
'QAudioSource': 'PyQt6.QtMultimedia',
|
||||
'QAuthenticator': 'PyQt6.QtNetwork',
|
||||
'QBackingStore': 'PyQt6.QtGui',
|
||||
'QBasicTimer': 'PyQt6.QtCore',
|
||||
'QBitArray': 'PyQt6.QtCore',
|
||||
'QBitmap': 'PyQt6.QtGui',
|
||||
'QBluetoothPermission': 'PyQt6.QtCore',
|
||||
'QBoxLayout': 'PyQt6.QtWidgets',
|
||||
'QBrush': 'PyQt6.QtGui',
|
||||
'QBuffer': 'PyQt6.QtCore',
|
||||
@ -38,7 +48,13 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore',
|
||||
'QByteArray': 'PyQt6.QtCore',
|
||||
'QByteArrayMatcher': 'PyQt6.QtCore',
|
||||
'QCalendar': 'PyQt6.QtCore',
|
||||
'QCalendarPermission': 'PyQt6.QtCore',
|
||||
'QCalendarWidget': 'PyQt6.QtWidgets',
|
||||
'QCamera': 'PyQt6.QtMultimedia',
|
||||
'QCameraDevice': 'PyQt6.QtMultimedia',
|
||||
'QCameraFormat': 'PyQt6.QtMultimedia',
|
||||
'QCameraPermission': 'PyQt6.QtCore',
|
||||
'QCapturableWindow': 'PyQt6.QtMultimedia',
|
||||
'QCborError': 'PyQt6.QtCore',
|
||||
'QCborKnownTags': 'PyQt6.QtCore',
|
||||
'QCborSimpleType': 'PyQt6.QtCore',
|
||||
@ -46,6 +62,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore',
|
||||
'QCborStreamWriter': 'PyQt6.QtCore',
|
||||
'QCheckBox': 'PyQt6.QtWidgets',
|
||||
'QChildEvent': 'PyQt6.QtCore',
|
||||
'QChildWindowEvent': 'PyQt6.QtGui',
|
||||
'QClipboard': 'PyQt6.QtGui',
|
||||
'QCloseEvent': 'PyQt6.QtGui',
|
||||
'QCollator': 'PyQt6.QtCore',
|
||||
@ -64,6 +81,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore',
|
||||
'QCompleter': 'PyQt6.QtWidgets',
|
||||
'QConcatenateTablesProxyModel': 'PyQt6.QtCore',
|
||||
'QConicalGradient': 'PyQt6.QtGui',
|
||||
'QContactsPermission': 'PyQt6.QtCore',
|
||||
'QContextMenuEvent': 'PyQt6.QtGui',
|
||||
'QCoreApplication': 'PyQt6.QtCore',
|
||||
'QCryptographicHash': 'PyQt6.QtCore',
|
||||
@ -168,6 +186,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore',
|
||||
'QGraphicsSimpleTextItem': 'PyQt6.QtWidgets',
|
||||
'QGraphicsTextItem': 'PyQt6.QtWidgets',
|
||||
'QGraphicsTransform': 'PyQt6.QtWidgets',
|
||||
'QGraphicsVideoItem': 'PyQt6.QtMultimediaWidgets',
|
||||
'QGraphicsView': 'PyQt6.QtWidgets',
|
||||
'QGraphicsWidget': 'PyQt6.QtWidgets',
|
||||
'QGridLayout': 'PyQt6.QtWidgets',
|
||||
@ -181,7 +200,9 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore',
|
||||
'QHostInfo': 'PyQt6.QtNetwork',
|
||||
'QHoverEvent': 'PyQt6.QtGui',
|
||||
'QHstsPolicy': 'PyQt6.QtNetwork',
|
||||
'QHttp1Configuration': 'PyQt6.QtNetwork',
|
||||
'QHttp2Configuration': 'PyQt6.QtNetwork',
|
||||
'QHttpHeaders': 'PyQt6.QtNetwork',
|
||||
'QHttpMultiPart': 'PyQt6.QtNetwork',
|
||||
'QHttpPart': 'PyQt6.QtNetwork',
|
||||
'QIODevice': 'PyQt6.QtCore',
|
||||
@ -191,6 +212,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore',
|
||||
'QIconEngine': 'PyQt6.QtGui',
|
||||
'QIdentityProxyModel': 'PyQt6.QtCore',
|
||||
'QImage': 'PyQt6.QtGui',
|
||||
'QImageCapture': 'PyQt6.QtMultimedia',
|
||||
'QImageIOHandler': 'PyQt6.QtGui',
|
||||
'QImageReader': 'PyQt6.QtGui',
|
||||
'QImageWriter': 'PyQt6.QtGui',
|
||||
@ -230,6 +252,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore',
|
||||
'QLocalServer': 'PyQt6.QtNetwork',
|
||||
'QLocalSocket': 'PyQt6.QtNetwork',
|
||||
'QLocale': 'PyQt6.QtCore',
|
||||
'QLocationPermission': 'PyQt6.QtCore',
|
||||
'QLockFile': 'PyQt6.QtCore',
|
||||
'QLoggingCategory': 'PyQt6.QtCore',
|
||||
'QMainWindow': 'PyQt6.QtWidgets',
|
||||
@ -246,6 +269,13 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore',
|
||||
'QMatrix4x4': 'PyQt6.QtGui',
|
||||
'QMdiArea': 'PyQt6.QtWidgets',
|
||||
'QMdiSubWindow': 'PyQt6.QtWidgets',
|
||||
'QMediaCaptureSession': 'PyQt6.QtMultimedia',
|
||||
'QMediaDevices': 'PyQt6.QtMultimedia',
|
||||
'QMediaFormat': 'PyQt6.QtMultimedia',
|
||||
'QMediaMetaData': 'PyQt6.QtMultimedia',
|
||||
'QMediaPlayer': 'PyQt6.QtMultimedia',
|
||||
'QMediaRecorder': 'PyQt6.QtMultimedia',
|
||||
'QMediaTimeRange': 'PyQt6.QtMultimedia',
|
||||
'QMenu': 'PyQt6.QtWidgets',
|
||||
'QMenuBar': 'PyQt6.QtWidgets',
|
||||
'QMessageAuthenticationCode': 'PyQt6.QtCore',
|
||||
@ -258,11 +288,13 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore',
|
||||
'QMetaObject': 'PyQt6.QtCore',
|
||||
'QMetaProperty': 'PyQt6.QtCore',
|
||||
'QMetaType': 'PyQt6.QtCore',
|
||||
'QMicrophonePermission': 'PyQt6.QtCore',
|
||||
'QMimeData': 'PyQt6.QtCore',
|
||||
'QMimeDatabase': 'PyQt6.QtCore',
|
||||
'QMimeType': 'PyQt6.QtCore',
|
||||
'QModelIndex': 'PyQt6.QtCore',
|
||||
'QModelRoleData': 'PyQt6.QtCore',
|
||||
'QModelRoleDataSpan': 'PyQt6.QtCore',
|
||||
'QMouseEvent': 'PyQt6.QtGui',
|
||||
'QMoveEvent': 'PyQt6.QtGui',
|
||||
'QMovie': 'PyQt6.QtGui',
|
||||
@ -270,6 +302,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore',
|
||||
'QMutexLocker': 'PyQt6.QtCore',
|
||||
'QNativeGestureEvent': 'PyQt6.QtGui',
|
||||
'QNativeInterface': 'PyQt6.QtQuick',
|
||||
'QNativeIpcKey': 'PyQt6.QtCore',
|
||||
'QNetworkAccessManager': 'PyQt6.QtNetwork',
|
||||
'QNetworkAddressEntry': 'PyQt6.QtNetwork',
|
||||
'QNetworkCacheMetaData': 'PyQt6.QtNetwork',
|
||||
@ -335,6 +368,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore',
|
||||
'QPauseAnimation': 'PyQt6.QtCore',
|
||||
'QPdfWriter': 'PyQt6.QtGui',
|
||||
'QPen': 'PyQt6.QtGui',
|
||||
'QPermission': 'PyQt6.QtCore',
|
||||
'QPersistentModelIndex': 'PyQt6.QtCore',
|
||||
'QPicture': 'PyQt6.QtGui',
|
||||
'QPinchGesture': 'PyQt6.QtWidgets',
|
||||
@ -420,6 +454,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore',
|
||||
'QSGRendererInterface': 'PyQt6.QtQuick',
|
||||
'QSGSimpleRectNode': 'PyQt6.QtQuick',
|
||||
'QSGSimpleTextureNode': 'PyQt6.QtQuick',
|
||||
'QSGTextNode': 'PyQt6.QtQuick',
|
||||
'QSGTexture': 'PyQt6.QtQuick',
|
||||
'QSGTextureMaterial': 'PyQt6.QtQuick',
|
||||
'QSGTextureProvider': 'PyQt6.QtQuick',
|
||||
@ -427,6 +462,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore',
|
||||
'QSGVertexColorMaterial': 'PyQt6.QtQuick',
|
||||
'QSaveFile': 'PyQt6.QtCore',
|
||||
'QScreen': 'PyQt6.QtGui',
|
||||
'QScreenCapture': 'PyQt6.QtMultimedia',
|
||||
'QScrollArea': 'PyQt6.QtWidgets',
|
||||
'QScrollBar': 'PyQt6.QtWidgets',
|
||||
'QScrollEvent': 'PyQt6.QtGui',
|
||||
@ -452,6 +488,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore',
|
||||
'QSlider': 'PyQt6.QtWidgets',
|
||||
'QSocketNotifier': 'PyQt6.QtCore',
|
||||
'QSortFilterProxyModel': 'PyQt6.QtCore',
|
||||
'QSoundEffect': 'PyQt6.QtMultimedia',
|
||||
'QSpacerItem': 'PyQt6.QtWidgets',
|
||||
'QSpinBox': 'PyQt6.QtWidgets',
|
||||
'QSplashScreen': 'PyQt6.QtWidgets',
|
||||
@ -467,6 +504,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore',
|
||||
'QSslError': 'PyQt6.QtNetwork',
|
||||
'QSslKey': 'PyQt6.QtNetwork',
|
||||
'QSslPreSharedKeyAuthenticator': 'PyQt6.QtNetwork',
|
||||
'QSslServer': 'PyQt6.QtNetwork',
|
||||
'QSslSocket': 'PyQt6.QtNetwork',
|
||||
'QStackedLayout': 'PyQt6.QtWidgets',
|
||||
'QStackedWidget': 'PyQt6.QtWidgets',
|
||||
@ -574,6 +612,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore',
|
||||
'QTextTableCell': 'PyQt6.QtGui',
|
||||
'QTextTableCellFormat': 'PyQt6.QtGui',
|
||||
'QTextTableFormat': 'PyQt6.QtGui',
|
||||
'QTextToSpeech': 'PyQt6.QtTextToSpeech',
|
||||
'QThread': 'PyQt6.QtCore',
|
||||
'QThreadPool': 'PyQt6.QtCore',
|
||||
'QTime': 'PyQt6.QtCore',
|
||||
@ -611,6 +650,11 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore',
|
||||
'QVector3D': 'PyQt6.QtGui',
|
||||
'QVector4D': 'PyQt6.QtGui',
|
||||
'QVersionNumber': 'PyQt6.QtCore',
|
||||
'QVideoFrame': 'PyQt6.QtMultimedia',
|
||||
'QVideoFrameFormat': 'PyQt6.QtMultimedia',
|
||||
'QVideoSink': 'PyQt6.QtMultimedia',
|
||||
'QVideoWidget': 'PyQt6.QtMultimediaWidgets',
|
||||
'QVoice': 'PyQt6.QtTextToSpeech',
|
||||
'QWIDGETSIZE_MAX': 'PyQt6.QtWidgets',
|
||||
'QWaitCondition': 'PyQt6.QtCore',
|
||||
'QWhatsThis': 'PyQt6.QtWidgets',
|
||||
@ -620,6 +664,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore',
|
||||
'QWidgetAction': 'PyQt6.QtWidgets',
|
||||
'QWidgetItem': 'PyQt6.QtWidgets',
|
||||
'QWindow': 'PyQt6.QtGui',
|
||||
'QWindowCapture': 'PyQt6.QtMultimedia',
|
||||
'QWindowStateChangeEvent': 'PyQt6.QtGui',
|
||||
'QWizard': 'PyQt6.QtWidgets',
|
||||
'QWizardPage': 'PyQt6.QtWidgets',
|
||||
@ -638,12 +683,16 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore',
|
||||
'QtCore': 'PyQt6.QtCore',
|
||||
'QtGui': 'PyQt6.QtGui',
|
||||
'QtMsgType': 'PyQt6.QtCore',
|
||||
'QtMultimedia': 'PyQt6.QtMultimedia',
|
||||
'QtMultimediaWidgets': 'PyQt6.QtMultimediaWidgets',
|
||||
'QtNetwork': 'PyQt6.QtNetwork',
|
||||
'QtOpenGL': 'PyQt6.QtOpenGL',
|
||||
'QtOpenGLWidgets': 'PyQt6.QtOpenGLWidgets',
|
||||
'QtPrintSupport': 'PyQt6.QtPrintSupport',
|
||||
'QtQuick': 'PyQt6.QtQuick',
|
||||
'QtSvg': 'PyQt6.QtSvg',
|
||||
'QtTextToSpeech': 'PyQt6.QtTextToSpeech',
|
||||
'QtVideo': 'PyQt6.QtMultimedia',
|
||||
'QtWidgets': 'PyQt6.QtWidgets',
|
||||
'pyqtBoundSignal': 'PyQt6.QtCore',
|
||||
'pyqtClassInfo': 'PyQt6.QtCore',
|
||||
@ -666,6 +715,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore',
|
||||
'qDebug': 'PyQt6.QtCore',
|
||||
'qDrawBorderPixmap': 'PyQt6.QtWidgets',
|
||||
'qDrawPlainRect': 'PyQt6.QtWidgets',
|
||||
'qDrawPlainRoundedRect': 'PyQt6.QtWidgets',
|
||||
'qDrawShadeLine': 'PyQt6.QtWidgets',
|
||||
'qDrawShadePanel': 'PyQt6.QtWidgets',
|
||||
'qDrawShadeRect': 'PyQt6.QtWidgets',
|
||||
@ -679,6 +729,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore',
|
||||
'qFloatDistance': 'PyQt6.QtCore',
|
||||
'qFormatLogMessage': 'PyQt6.QtCore',
|
||||
'qFuzzyCompare': 'PyQt6.QtCore',
|
||||
'qFuzzyIsNull': 'PyQt6.QtCore',
|
||||
'qGray': 'PyQt6.QtGui',
|
||||
'qGreen': 'PyQt6.QtGui',
|
||||
'qInf': 'PyQt6.QtCore',
|
||||
@ -714,6 +765,7 @@ name_map = {'PYQT_VERSION': 'PyQt6.QtCore',
|
||||
'qUnregisterResourceData': 'PyQt6.QtCore',
|
||||
'qVersion': 'PyQt6.QtCore',
|
||||
'qWarning': 'PyQt6.QtCore',
|
||||
'qYieldCpu': 'PyQt6.QtCore',
|
||||
'qt_set_sequence_auto_mnemonic': 'PyQt6.QtGui',
|
||||
'sip': 'PyQt6.sip'}
|
||||
module_names = frozenset(('QtCore',
|
||||
@ -725,5 +777,8 @@ module_names = frozenset(('QtCore',
|
||||
'QtOpenGL',
|
||||
'QtOpenGLWidgets',
|
||||
'QtQuick',
|
||||
'QtMultimedia',
|
||||
'QtMultimediaWidgets',
|
||||
'QtTextToSpeech',
|
||||
'sip')
|
||||
)
|
||||
|
@ -1,6 +1,5 @@
|
||||
# autogenerated by __main__.py do not edit
|
||||
import PyQt6.QtDBus
|
||||
|
||||
QDBus = PyQt6.QtDBus.QDBus
|
||||
QDBusAbstractAdaptor = PyQt6.QtDBus.QDBusAbstractAdaptor
|
||||
QDBusAbstractInterface = PyQt6.QtDBus.QDBusAbstractInterface
|
||||
|
@ -1,6 +1,5 @@
|
||||
# autogenerated by __main__.py do not edit
|
||||
import PyQt6.QtWebEngineCore
|
||||
|
||||
PYQT_WEBENGINE_VERSION = PyQt6.QtWebEngineCore.PYQT_WEBENGINE_VERSION
|
||||
PYQT_WEBENGINE_VERSION_STR = PyQt6.QtWebEngineCore.PYQT_WEBENGINE_VERSION_STR
|
||||
QWebEngineCertificateError = PyQt6.QtWebEngineCore.QWebEngineCertificateError
|
||||
@ -8,9 +7,12 @@ QWebEngineClientCertificateSelection = PyQt6.QtWebEngineCore.QWebEngineClientCer
|
||||
QWebEngineClientCertificateStore = PyQt6.QtWebEngineCore.QWebEngineClientCertificateStore
|
||||
QWebEngineContextMenuRequest = PyQt6.QtWebEngineCore.QWebEngineContextMenuRequest
|
||||
QWebEngineCookieStore = PyQt6.QtWebEngineCore.QWebEngineCookieStore
|
||||
QWebEngineDesktopMediaRequest = PyQt6.QtWebEngineCore.QWebEngineDesktopMediaRequest
|
||||
QWebEngineDownloadRequest = PyQt6.QtWebEngineCore.QWebEngineDownloadRequest
|
||||
QWebEngineFileSystemAccessRequest = PyQt6.QtWebEngineCore.QWebEngineFileSystemAccessRequest
|
||||
QWebEngineFindTextResult = PyQt6.QtWebEngineCore.QWebEngineFindTextResult
|
||||
QWebEngineFullScreenRequest = PyQt6.QtWebEngineCore.QWebEngineFullScreenRequest
|
||||
QWebEngineGlobalSettings = PyQt6.QtWebEngineCore.QWebEngineGlobalSettings
|
||||
QWebEngineHistory = PyQt6.QtWebEngineCore.QWebEngineHistory
|
||||
QWebEngineHistoryItem = PyQt6.QtWebEngineCore.QWebEngineHistoryItem
|
||||
QWebEngineHistoryModel = PyQt6.QtWebEngineCore.QWebEngineHistoryModel
|
||||
@ -31,9 +33,12 @@ QWebEngineUrlRequestInterceptor = PyQt6.QtWebEngineCore.QWebEngineUrlRequestInte
|
||||
QWebEngineUrlRequestJob = PyQt6.QtWebEngineCore.QWebEngineUrlRequestJob
|
||||
QWebEngineUrlScheme = PyQt6.QtWebEngineCore.QWebEngineUrlScheme
|
||||
QWebEngineUrlSchemeHandler = PyQt6.QtWebEngineCore.QWebEngineUrlSchemeHandler
|
||||
QWebEngineWebAuthPinRequest = PyQt6.QtWebEngineCore.QWebEngineWebAuthPinRequest
|
||||
QWebEngineWebAuthUxRequest = PyQt6.QtWebEngineCore.QWebEngineWebAuthUxRequest
|
||||
qWebEngineChromiumSecurityPatchVersion = PyQt6.QtWebEngineCore.qWebEngineChromiumSecurityPatchVersion
|
||||
qWebEngineChromiumVersion = PyQt6.QtWebEngineCore.qWebEngineChromiumVersion
|
||||
qWebEngineGetDomainAndRegistry = PyQt6.QtWebEngineCore.qWebEngineGetDomainAndRegistry
|
||||
qWebEngineProcessName = PyQt6.QtWebEngineCore.qWebEngineProcessName
|
||||
qWebEngineVersion = PyQt6.QtWebEngineCore.qWebEngineVersion
|
||||
import PyQt6.QtWebEngineWidgets
|
||||
|
||||
QWebEngineView = PyQt6.QtWebEngineWidgets.QWebEngineView
|
@ -6,9 +6,12 @@ name_map = {'PYQT_WEBENGINE_VERSION': 'PyQt6.QtWebEngineCore',
|
||||
'QWebEngineClientCertificateStore': 'PyQt6.QtWebEngineCore',
|
||||
'QWebEngineContextMenuRequest': 'PyQt6.QtWebEngineCore',
|
||||
'QWebEngineCookieStore': 'PyQt6.QtWebEngineCore',
|
||||
'QWebEngineDesktopMediaRequest': 'PyQt6.QtWebEngineCore',
|
||||
'QWebEngineDownloadRequest': 'PyQt6.QtWebEngineCore',
|
||||
'QWebEngineFileSystemAccessRequest': 'PyQt6.QtWebEngineCore',
|
||||
'QWebEngineFindTextResult': 'PyQt6.QtWebEngineCore',
|
||||
'QWebEngineFullScreenRequest': 'PyQt6.QtWebEngineCore',
|
||||
'QWebEngineGlobalSettings': 'PyQt6.QtWebEngineCore',
|
||||
'QWebEngineHistory': 'PyQt6.QtWebEngineCore',
|
||||
'QWebEngineHistoryItem': 'PyQt6.QtWebEngineCore',
|
||||
'QWebEngineHistoryModel': 'PyQt6.QtWebEngineCore',
|
||||
@ -30,10 +33,14 @@ name_map = {'PYQT_WEBENGINE_VERSION': 'PyQt6.QtWebEngineCore',
|
||||
'QWebEngineUrlScheme': 'PyQt6.QtWebEngineCore',
|
||||
'QWebEngineUrlSchemeHandler': 'PyQt6.QtWebEngineCore',
|
||||
'QWebEngineView': 'PyQt6.QtWebEngineWidgets',
|
||||
'QWebEngineWebAuthPinRequest': 'PyQt6.QtWebEngineCore',
|
||||
'QWebEngineWebAuthUxRequest': 'PyQt6.QtWebEngineCore',
|
||||
'QtWebEngineCore': 'PyQt6.QtWebEngineCore',
|
||||
'QtWebEngineWidgets': 'PyQt6.QtWebEngineWidgets',
|
||||
'qWebEngineChromiumSecurityPatchVersion': 'PyQt6.QtWebEngineCore',
|
||||
'qWebEngineChromiumVersion': 'PyQt6.QtWebEngineCore',
|
||||
'qWebEngineGetDomainAndRegistry': 'PyQt6.QtWebEngineCore',
|
||||
'qWebEngineProcessName': 'PyQt6.QtWebEngineCore',
|
||||
'qWebEngineVersion': 'PyQt6.QtWebEngineCore'}
|
||||
module_names = frozenset(('QtWebEngineCore', 'QtWebEngineWidgets')
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user