-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pyqt5_to_pyqt6.py fails on infinite recursion #58659
Comments
Same here: PS D:\_QGIS\PLUGINS\isl_box> python .\scripts\pyqt5_to_pyqt6.py .\isl_box\core\
Could not find platform independent libraries <prefix>
Traceback (most recent call last):
File "D:\_QGIS\PLUGINS\isl_box\scripts\pyqt5_to_pyqt6.py", line 710, in get_class_enums
get_class_enums(value)
File "D:\_QGIS\PLUGINS\isl_box\scripts\pyqt5_to_pyqt6.py", line 710, in get_class_enums
get_class_enums(value)
File "D:\_QGIS\PLUGINS\isl_box\scripts\pyqt5_to_pyqt6.py", line 710, in get_class_enums
get_class_enums(value)
[Previous line repeated 995 more times]
File "D:\_QGIS\PLUGINS\isl_box\scripts\pyqt5_to_pyqt6.py", line 674, in get_class_enums
matched_classes = {item}.union(all_subclasses(item))
^^^^^^^^^^^^^^^^^^^^
File "D:\_QGIS\PLUGINS\isl_box\scripts\pyqt5_to_pyqt6.py", line 672, in all_subclasses
return {cls}.union(s for c in cls.__subclasses__() for s in all_subclasses(c))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RecursionError: maximum recursion depth exceeded (my editor might have fucked up the format so lines differs) I added a print juste before the recursive call and here is the output: python .\scripts\pyqt5_to_pyqt6.py .\isl_box\Get enums for qgis.PyQt.QtCore
Get enums for
***************************************************************************
QtCore.py
---------------------
Date : November 2015
Copyright : (C) 2015 by Matthias Kuhn
Email : matthias at opengis dot ch
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************
Get enums for qgis.PyQt
Get enums for <_frozen_importlib_external.SourceFileLoader object at 0x000001FA216EA870>
Get enums for ModuleSpec(name='qgis.PyQt.QtCore', loader=<_frozen_importlib_external.SourceFileLoader object at 0x000001FA216EA870>, origin='C:\\OSGeo4W\\apps\\qgis\\python\\qgis\\PyQt\\QtCore.py')
Get enums for C:\OSGeo4W\apps\qgis\python\qgis\PyQt\QtCore.py
Get enums for C:\OSGeo4W\apps\qgis\python\qgis\PyQt\__pycache__\QtCore.cpython-312.pyc
Get enums for {'__name__': 'builtins', '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__package__': '', '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), '__build_class__': <built-in function __build_class__>, '__import__': <built-in function __import__>, 'abs': <built-in function abs>, 'all': <built-in function all>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'breakpoint': <built-in function breakpoint>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'compile': <built-in function compile>, 'delattr': <built-in function delattr>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'format': <built-in function format>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'aiter': <built-in function aiter>, 'len': <built-in function len>, 'locals': <built-in function locals>, 'max': <built-in function max>, 'min': <built-in function min>, 'next': <built-in function next>, 'anext': <built-in function anext>, 'oct': <built-in function oct>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'repr': <built-in function repr>, 'round': <built-in function round>, 'setattr': <built-in function setattr>, 'sorted': <built-in function sorted>, 'sum': <built-in function sum>, 'vars': <built-in function vars>, 'None': None, 'Ellipsis': Ellipsis, 'NotImplemented': NotImplemented, 'False': False, 'True': True, 'bool': <class 'bool'>, 'memoryview': <class 'memoryview'>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'classmethod': <class 'classmethod'>, 'complex': <class 'complex'>, 'dict': <class 'dict'>, 'enumerate': <class 'enumerate'>, 'filter': <class 'filter'>, 'float': <class 'float'>, 'frozenset': <class 'frozenset'>, 'property': <class 'property'>, 'int': <class 'int'>, 'list': <class 'list'>, 'map': <class 'map'>, 'object': <class 'object'>, 'range': <class 'range'>, 'reversed': <class 'reversed'>, 'set': <class 'set'>, 'slice': <class 'slice'>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'zip': <class 'zip'>, '__debug__': True, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'Exception': <class 'Exception'>, 'GeneratorExit': <class 'GeneratorExit'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'SystemExit': <class 'SystemExit'>, 'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BufferError': <class 'BufferError'>, 'EOFError': <class 'EOFError'>, 'ImportError': <class 'ImportError'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'NameError': <class 'NameError'>, 'OSError': <class 'OSError'>, 'ReferenceError': <class 'ReferenceError'>, 'RuntimeError': <class 'RuntimeError'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SystemError': <class 'SystemError'>, 'TypeError': <class 'TypeError'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'FloatingPointError': <class 'FloatingPointError'>, 'OverflowError': <class 'OverflowError'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, 'BytesWarning': <class 'BytesWarning'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EncodingWarning': <class 'EncodingWarning'>, 'FutureWarning': <class 'FutureWarning'>, 'ImportWarning': <class 'ImportWarning'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'BlockingIOError': <class 'BlockingIOError'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionError': <class 'ConnectionError'>, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'NotADirectoryError': <class 'NotADirectoryError'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'TimeoutError': <class 'TimeoutError'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'KeyError': <class 'KeyError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NotImplementedError': <class 'NotImplementedError'>, 'RecursionError': <class 'RecursionError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeError': <class 'UnicodeError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'TabError': <class 'TabError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'EnvironmentError': <class 'OSError'>, 'IOError': <class 'OSError'>, 'WindowsError': <class 'OSError'>, 'open': <built-in function open>, 'quit': Use quit() or Ctrl-Z plus Return to exit, 'exit': Use exit() or Ctrl-Z plus Return to exit, 'copyright': Copyright (c) 2001-2023 Python Software Foundation.
All Rights Reserved.
Copyright (c) 2000 BeOpen.com.
All Rights Reserved.
Copyright (c) 1995-2001 Corporation for National Research Initiatives.
All Rights Reserved.
Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam.
All Rights Reserved., 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands
for supporting Python development. See www.python.org for more information., 'license': See https://www.python.org/psf/license/, 'help': Type help() for interactive help, or help(object) for help about object.}
Get enums for Matthias Kuhn
Get enums for November 2015
Get enums for (C) 2015, Matthias Kuhn
Get enums for <built-in function qSetRealNumberPrecision>
Get enums for <built-in function qSetPadChar>
Get enums for <built-in function qSetFieldWidth>
Get enums for <built-in function ws>
Get enums for <built-in function bom>
Get enums for <built-in function reset>
Get enums for <built-in function flush>
Get enums for <built-in function endl>
Get enums for <built-in function center>
Get enums for <built-in function right>
Get enums for <built-in function left>
Get enums for <built-in function scientific>
Get enums for <built-in function fixed>
Get enums for <built-in function lowercasedigits>
Get enums for <built-in function lowercasebase>
Get enums for <built-in function uppercasedigits>
Get enums for <built-in function uppercasebase>
Get enums for <built-in function noforcepoint>
Get enums for <built-in function noforcesign>
Get enums for <built-in function noshowbase>
Get enums for <built-in function forcepoint>
Get enums for <built-in function forcesign>
Get enums for <built-in function showbase>
Get enums for <built-in function hex_>
Get enums for <built-in function dec>
Get enums for <built-in function oct_>
Get enums for <built-in function bin_>
Get enums for <built-in function Q_RETURN_ARG>
Get enums for <built-in function Q_ARG>
Get enums for <built-in function pyqtSlot>
Get enums for <built-in function QT_TRANSLATE_NOOP>
Get enums for <built-in function QT_TR_NOOP_UTF8>
Get enums for <built-in function QT_TR_NOOP>
Get enums for <built-in function Q_FLAGS>
Get enums for <built-in function Q_FLAG>
Get enums for <built-in function Q_ENUMS>
Get enums for <built-in function Q_ENUM>
Get enums for <built-in function Q_CLASSINFO>
Get enums for <built-in function qFloatDistance>
Get enums for <built-in function qQNaN>
Get enums for <built-in function qSNaN>
Get enums for <built-in function qInf>
Get enums for <built-in function qIsNaN>
Get enums for <built-in function qIsFinite>
Get enums for <built-in function qIsInf>
Get enums for <built-in function qFormatLogMessage>
Get enums for <built-in function qSetMessagePattern>
Get enums for <built-in function qInstallMessageHandler>
Get enums for <built-in function qWarning>
Get enums for <built-in function qInfo>
Get enums for <built-in function qFatal>
Get enums for <built-in function qErrnoWarning>
Get enums for <built-in function qDebug>
Get enums for <built-in function qCritical>
Get enums for <built-in function pyqtRestoreInputHook>
Get enums for <built-in function pyqtRemoveInputHook>
Get enums for <built-in function qAddPreRoutine>
Get enums for <built-in function qRemovePostRoutine>
Get enums for <built-in function qAddPostRoutine>
Get enums for <built-in function qChecksum>
Get enums for <built-in function qUncompress>
Get enums for <built-in function qCompress>
Get enums for <built-in function qEnvironmentVariable>
Get enums for <built-in function pyqtPickleProtocol>
Get enums for <built-in function pyqtSetPickleProtocol>
Get enums for <built-in function qrand>
Get enums for <built-in function qsrand>
Get enums for <built-in function qIsNull>
Get enums for <built-in function qFuzzyCompare>
Get enums for <built-in function qUnregisterResourceData>
Get enums for <built-in function qRegisterResourceData>
Get enums for <built-in function qSharedBuild>
Get enums for <built-in function qVersion>
Get enums for <built-in function qRound64>
Get enums for <built-in function qRound>
Get enums for <built-in function qAbs>
Get enums for <class 'PyQt5.QtCore.QObject'>
Get enums for <class 'PyQt5.QtCore.QAbstractAnimation'>
<class 'PyQt5.QtCore.QAbstractAnimation.DeletionPolicy'>
<class 'PyQt5.QtCore.QAbstractAnimation.Direction'>
<class 'PyQt5.QtCore.QAbstractAnimation.State'>
Get enums for <class 'PyQt5.QtCore.QAbstractEventDispatcher'>
<class 'PyQt5.QtCore.QAbstractEventDispatcher.TimerInfo'>
Get enums for <class 'PyQt5.QtCore.QAbstractItemModel'>
<class 'PyQt5.QtCore.QAbstractItemModel.CheckIndexOptions'>
<class 'PyQt5.QtCore.QAbstractItemModel.LayoutChangeHint'>
Get enums for <class 'PyQt5.QtCore.QAbstractListModel'>
Get enums for <class 'PyQt5.QtCore.QAbstractNativeEventFilter'>
Get enums for <class 'PyQt5.QtCore.QAbstractProxyModel'>
Get enums for <class 'PyQt5.QtCore.QAbstractState'>
Get enums for <class 'PyQt5.QtCore.QAbstractTableModel'>
Get enums for <class 'PyQt5.QtCore.QAbstractTransition'>
<class 'PyQt5.QtCore.QAbstractTransition.TransitionType'>
Get enums for <class 'PyQt5.QtCore.QAnimationGroup'>
Get enums for <class 'PyQt5.QtCore.QBasicTimer'>
Get enums for <class 'PyQt5.QtCore.QBitArray'>
Get enums for <class 'PyQt5.QtCore.QIODevice'>
<class 'PyQt5.QtCore.QIODevice.OpenMode'>
<class 'PyQt5.QtCore.QIODevice.OpenModeFlag'>
Get enums for <class 'PyQt5.QtCore.QBuffer'>
Get enums for <class 'PyQt5.QtCore.QByteArray'>
<class 'PyQt5.QtCore.QByteArray.Base64Option'>
<class 'PyQt5.QtCore.QByteArray.Base64Options'>
<class 'PyQt5.QtCore.QByteArray.FromBase64Result'>
Get enums for <class 'PyQt5.QtCore.QByteArrayMatcher'>
Get enums for <class 'PyQt5.QtCore.QCalendar'>
<class 'PyQt5.QtCore.QCalendar.YearMonthDay'>
Get enums for <class 'PyQt5.QtCore.QCborError'>
<class 'PyQt5.QtCore.QCborError.Code'>
Get enums for <enum 'QCborKnownTags'>
<class 'int'>
Get enums for <enum 'QCborSimpleType'>
<class 'int'>
Get enums for <class 'PyQt5.QtCore.QCborStreamReader'>
<class 'PyQt5.QtCore.QCborStreamReader.StringResultCode'>
<class 'PyQt5.QtCore.QCborStreamReader.Type'>
Get enums for <class 'PyQt5.QtCore.QCborStreamWriter'>
Get enums for <class 'PyQt5.QtCore.QEvent'>
<class 'PyQt5.QtCore.QEvent.Type'>
Get enums for <class 'PyQt5.QtCore.QChildEvent'>
Get enums for <class 'PyQt5.QtCore.QCollator'>
Get enums for <class 'PyQt5.QtCore.QCollatorSortKey'>
Get enums for <class 'PyQt5.QtCore.QCommandLineOption'>
<class 'PyQt5.QtCore.QCommandLineOption.Flag'>
<class 'PyQt5.QtCore.QCommandLineOption.Flags'>
Get enums for <class 'PyQt5.QtCore.QCommandLineParser'>
<class 'PyQt5.QtCore.QCommandLineParser.OptionsAfterPositionalArgumentsMode'>
<class 'PyQt5.QtCore.QCommandLineParser.SingleDashWordOptionMode'>
Get enums for <class 'PyQt5.QtCore.QConcatenateTablesProxyModel'>
Get enums for <class 'PyQt5.QtCore.QCoreApplication'>
Get enums for <class 'PyQt5.QtCore.QCryptographicHash'>
<class 'PyQt5.QtCore.QCryptographicHash.Algorithm'>
Get enums for <class 'PyQt5.QtCore.QDataStream'>
<class 'PyQt5.QtCore.QDataStream.ByteOrder'>
<class 'PyQt5.QtCore.QDataStream.FloatingPointPrecision'>
<class 'PyQt5.QtCore.QDataStream.Status'>
<class 'PyQt5.QtCore.QDataStream.Version'>
Get enums for <class 'PyQt5.QtCore.QDate'>
<class 'PyQt5.QtCore.QDate.MonthNameType'>
Get enums for <class 'PyQt5.QtCore.QDateTime'>
Get enums for <class 'PyQt5.QtCore.QDeadlineTimer'>
<class 'PyQt5.QtCore.QDeadlineTimer.ForeverConstant'>
Get enums for <class 'PyQt5.QtCore.QDir'>
<class 'PyQt5.QtCore.QDir.Filter'>
<class 'PyQt5.QtCore.QDir.Filters'>
<class 'PyQt5.QtCore.QDir.SortFlag'>
<class 'PyQt5.QtCore.QDir.SortFlags'>
Get enums for <class 'PyQt5.QtCore.QDirIterator'>
<class 'PyQt5.QtCore.QDirIterator.IteratorFlag'>
<class 'PyQt5.QtCore.QDirIterator.IteratorFlags'>
Get enums for <class 'PyQt5.QtCore.QDynamicPropertyChangeEvent'>
Get enums for <class 'PyQt5.QtCore.QEasingCurve'>
<class 'PyQt5.QtCore.QEasingCurve.Type'>
Get enums for <class 'PyQt5.QtCore.QElapsedTimer'>
<class 'PyQt5.QtCore.QElapsedTimer.ClockType'>
Get enums for <class 'PyQt5.QtCore.QEventLoop'>
<class 'PyQt5.QtCore.QEventLoop.ProcessEventsFlag'>
<class 'PyQt5.QtCore.QEventLoop.ProcessEventsFlags'>
Get enums for <class 'PyQt5.QtCore.QEventLoopLocker'>
Get enums for <class 'PyQt5.QtCore.QEventTransition'>
Get enums for <class 'PyQt5.QtCore.QFileDevice'>
<class 'PyQt5.QtCore.QFileDevice.FileError'>
<class 'PyQt5.QtCore.QFileDevice.FileHandleFlag'>
<class 'PyQt5.QtCore.QFileDevice.FileHandleFlags'>
<class 'PyQt5.QtCore.QFileDevice.FileTime'>
<class 'PyQt5.QtCore.QFileDevice.MemoryMapFlags'>
<class 'PyQt5.QtCore.QFileDevice.Permission'>
<class 'PyQt5.QtCore.QFileDevice.Permissions'>
Get enums for <class 'PyQt5.QtCore.QFile'>
Get enums for <class 'PyQt5.QtCore.QFileInfo'>
Get enums for <class 'PyQt5.QtCore.QFileSelector'>
Get enums for <class 'PyQt5.QtCore.QFileSystemWatcher'>
Get enums for <class 'PyQt5.QtCore.QFinalState'>
Get enums for <class 'PyQt5.QtCore.QGenericArgument'>
Get enums for <class 'PyQt5.QtCore.QGenericReturnArgument'>
Get enums for <class 'PyQt5.QtCore.QHistoryState'>
<class 'PyQt5.QtCore.QHistoryState.HistoryType'>
Get enums for <class 'PyQt5.QtCore.QIdentityProxyModel'>
Get enums for <class 'PyQt5.QtCore.QItemSelection'>
Get enums for <class 'PyQt5.QtCore.QItemSelectionModel'>
<class 'PyQt5.QtCore.QItemSelectionModel.SelectionFlag'>
<class 'PyQt5.QtCore.QItemSelectionModel.SelectionFlags'>
Get enums for <class 'PyQt5.QtCore.QItemSelectionRange'>
Get enums for <class 'PyQt5.QtCore.QJsonDocument'>
<class 'PyQt5.QtCore.QJsonDocument.DataValidation'>
<class 'PyQt5.QtCore.QJsonDocument.JsonFormat'>
Get enums for <class 'PyQt5.QtCore.QJsonParseError'>
<class 'PyQt5.QtCore.QJsonParseError.ParseError'>
Get enums for <class 'PyQt5.QtCore.QJsonValue'>
<class 'PyQt5.QtCore.QJsonValue.Type'>
Get enums for <class 'PyQt5.QtCore.QLibrary'>
<class 'PyQt5.QtCore.QLibrary.LoadHint'>
<class 'PyQt5.QtCore.QLibrary.LoadHints'>
Get enums for <class 'PyQt5.QtCore.QLibraryInfo'>
<class 'PyQt5.QtCore.QLibraryInfo.LibraryLocation'>
Get enums for <class 'PyQt5.QtCore.QLine'>
Get enums for <class 'PyQt5.QtCore.QLineF'>
<class 'PyQt5.QtCore.QLineF.IntersectType'>
Get enums for <class 'PyQt5.QtCore.QLocale'>
<class 'PyQt5.QtCore.QLocale.Country'>
<class 'PyQt5.QtCore.QLocale.CurrencySymbolFormat'>
<class 'PyQt5.QtCore.QLocale.DataSizeFormat'>
<class 'PyQt5.QtCore.QLocale.DataSizeFormats'>
<class 'PyQt5.QtCore.QLocale.FloatingPointPrecisionOption'>
<class 'PyQt5.QtCore.QLocale.FormatType'>
<class 'PyQt5.QtCore.QLocale.Language'>
<class 'PyQt5.QtCore.QLocale.MeasurementSystem'>
<class 'PyQt5.QtCore.QLocale.NumberOption'>
<class 'PyQt5.QtCore.QLocale.NumberOptions'>
<class 'PyQt5.QtCore.QLocale.QuotationStyle'>
<class 'PyQt5.QtCore.QLocale.Script'>
Get enums for <class 'PyQt5.QtCore.QLockFile'>
<class 'PyQt5.QtCore.QLockFile.LockError'>
Get enums for <class 'PyQt5.QtCore.QLoggingCategory'>
Get enums for <class 'PyQt5.QtCore.QMargins'>
Get enums for <class 'PyQt5.QtCore.QMarginsF'>
Get enums for <class 'PyQt5.QtCore.QMessageAuthenticationCode'>
Get enums for <class 'PyQt5.QtCore.QMessageLogContext'>
Get enums for <class 'PyQt5.QtCore.QMessageLogger'>
Get enums for <class 'PyQt5.QtCore.QMetaClassInfo'>
Get enums for <class 'PyQt5.QtCore.QMetaEnum'>
Get enums for <class 'PyQt5.QtCore.QMetaMethod'>
<class 'PyQt5.QtCore.QMetaMethod.Access'>
<class 'PyQt5.QtCore.QMetaMethod.MethodType'>
Get enums for <class 'PyQt5.QtCore.QMetaObject'>
<class 'PyQt5.QtCore.QMetaObject.Connection'>
Get enums for <class 'PyQt5.QtCore.QMetaProperty'>
Get enums for <class 'PyQt5.QtCore.QMetaType'>
<class 'PyQt5.QtCore.QMetaType.Type'>
<class 'PyQt5.QtCore.QMetaType.TypeFlag'>
<class 'PyQt5.QtCore.QMetaType.TypeFlags'>
Get enums for <class 'PyQt5.QtCore.QMimeData'>
Get enums for <class 'PyQt5.QtCore.QMimeDatabase'>
<class 'PyQt5.QtCore.QMimeDatabase.MatchMode'>
Get enums for <class 'PyQt5.QtCore.QMimeType'>
Get enums for <class 'PyQt5.QtCore.QModelIndex'>
Get enums for <class 'PyQt5.QtCore.QMutex'>
<class 'PyQt5.QtCore.QMutex.RecursionMode'>
Get enums for <class 'PyQt5.QtCore.QMutexLocker'>
Get enums for <class 'PyQt5.QtCore.QObjectCleanupHandler'>
Get enums for <class 'PyQt5.QtCore.QOperatingSystemVersion'>
<class 'PyQt5.QtCore.QOperatingSystemVersion.OSType'>
Get enums for <class 'PyQt5.QtCore.QParallelAnimationGroup'>
Get enums for <class 'PyQt5.QtCore.QPauseAnimation'>
Get enums for <class 'PyQt5.QtCore.QPersistentModelIndex'>
Get enums for <class 'PyQt5.QtCore.QPluginLoader'>
Get enums for <class 'PyQt5.QtCore.QPoint'>
Get enums for <class 'PyQt5.QtCore.QPointF'>
Get enums for <class 'PyQt5.QtCore.QProcess'>
<class 'PyQt5.QtCore.QProcess.ExitStatus'>
<class 'PyQt5.QtCore.QProcess.InputChannelMode'>
<class 'PyQt5.QtCore.QProcess.ProcessChannel'>
<class 'PyQt5.QtCore.QProcess.ProcessChannelMode'>
<class 'PyQt5.QtCore.QProcess.ProcessError'>
<class 'PyQt5.QtCore.QProcess.ProcessState'>
Get enums for <class 'PyQt5.QtCore.QProcessEnvironment'>
Get enums for <class 'PyQt5.QtCore.QVariantAnimation'>
Get enums for <class 'PyQt5.QtCore.QPropertyAnimation'>
Get enums for <class 'PyQt5.QtCore.QRandomGenerator'>
Get enums for <class 'PyQt5.QtCore.QReadLocker'>
Get enums for <class 'PyQt5.QtCore.QReadWriteLock'>
<class 'PyQt5.QtCore.QReadWriteLock.RecursionMode'>
Get enums for <class 'PyQt5.QtCore.QRect'>
Get enums for <class 'PyQt5.QtCore.QRectF'>
Get enums for <class 'PyQt5.QtCore.QRecursiveMutex'>
Get enums for <class 'PyQt5.QtCore.QRegExp'>
<class 'PyQt5.QtCore.QRegExp.CaretMode'>
<class 'PyQt5.QtCore.QRegExp.PatternSyntax'>
Get enums for <class 'PyQt5.QtCore.QRegularExpression'>
<class 'PyQt5.QtCore.QRegularExpression.MatchOption'>
<class 'PyQt5.QtCore.QRegularExpression.MatchOptions'>
<class 'PyQt5.QtCore.QRegularExpression.MatchType'>
<class 'PyQt5.QtCore.QRegularExpression.PatternOption'>
<class 'PyQt5.QtCore.QRegularExpression.PatternOptions'>
Get enums for <class 'PyQt5.QtCore.QRegularExpressionMatch'>
Get enums for <class 'PyQt5.QtCore.QRegularExpressionMatchIterator'>
Get enums for <class 'PyQt5.QtCore.QResource'>
<class 'PyQt5.QtCore.QResource.Compression'>
Get enums for <class 'PyQt5.QtCore.QRunnable'>
Get enums for <class 'PyQt5.QtCore.QSaveFile'>
Get enums for <class 'PyQt5.QtCore.QSemaphore'>
Get enums for <class 'PyQt5.QtCore.QSemaphoreReleaser'>
Get enums for <class 'PyQt5.QtCore.QSequentialAnimationGroup'>
Get enums for <class 'PyQt5.QtCore.QSettings'>
<class 'PyQt5.QtCore.QSettings.Format'>
<class 'PyQt5.QtCore.QSettings.Scope'>
<class 'PyQt5.QtCore.QSettings.Status'>
Get enums for <class 'PyQt5.QtCore.QSharedMemory'>
<class 'PyQt5.QtCore.QSharedMemory.AccessMode'>
<class 'PyQt5.QtCore.QSharedMemory.SharedMemoryError'>
Get enums for <class 'PyQt5.QtCore.QSignalBlocker'>
Get enums for <class 'PyQt5.QtCore.QSignalMapper'>
Get enums for <class 'PyQt5.QtCore.QSignalTransition'>
Get enums for <class 'PyQt5.QtCore.QSize'>
Get enums for <class 'PyQt5.QtCore.QSizeF'>
Get enums for <class 'PyQt5.QtCore.QSocketNotifier'>
<class 'PyQt5.QtCore.QSocketNotifier.Type'>
Get enums for <class 'PyQt5.QtCore.QSortFilterProxyModel'>
Get enums for <class 'PyQt5.QtCore.QStandardPaths'>
<class 'PyQt5.QtCore.QStandardPaths.LocateOption'>
<class 'PyQt5.QtCore.QStandardPaths.LocateOptions'>
<class 'PyQt5.QtCore.QStandardPaths.StandardLocation'>
Get enums for <class 'PyQt5.QtCore.QState'>
<class 'PyQt5.QtCore.QState.ChildMode'>
<class 'PyQt5.QtCore.QState.RestorePolicy'>
Get enums for <class 'PyQt5.QtCore.QStateMachine'>
<class 'PyQt5.QtCore.QStateMachine.Error'>
<class 'PyQt5.QtCore.QStateMachine.EventPriority'>
<class 'PyQt5.QtCore.QStateMachine.SignalEvent'>
<class 'PyQt5.QtCore.QStateMachine.WrappedEvent'>
Get enums for <class 'PyQt5.QtCore.QStorageInfo'>
Get enums for <class 'PyQt5.QtCore.QStringListModel'>
Get enums for <class 'PyQt5.QtCore.QSysInfo'>
<class 'PyQt5.QtCore.QSysInfo.Endian'>
<class 'PyQt5.QtCore.QSysInfo.Sizes'>
<class 'PyQt5.QtCore.QSysInfo.WinVersion'>
Get enums for <class 'PyQt5.QtCore.QSystemSemaphore'>
<class 'PyQt5.QtCore.QSystemSemaphore.AccessMode'>
<class 'PyQt5.QtCore.QSystemSemaphore.SystemSemaphoreError'>
Get enums for <class 'PyQt5.QtCore.QTemporaryDir'>
Get enums for <class 'PyQt5.QtCore.QTemporaryFile'>
Get enums for <class 'PyQt5.QtCore.QTextBoundaryFinder'>
<class 'PyQt5.QtCore.QTextBoundaryFinder.BoundaryReason'>
<class 'PyQt5.QtCore.QTextBoundaryFinder.BoundaryReasons'>
<class 'PyQt5.QtCore.QTextBoundaryFinder.BoundaryType'>
Get enums for <class 'PyQt5.QtCore.QTextCodec'>
<class 'PyQt5.QtCore.QTextCodec.ConversionFlag'>
<class 'PyQt5.QtCore.QTextCodec.ConversionFlags'>
<class 'PyQt5.QtCore.QTextCodec.ConverterState'>
Get enums for <class 'PyQt5.QtCore.QTextDecoder'>
Get enums for <class 'PyQt5.QtCore.QTextEncoder'>
Get enums for <class 'PyQt5.QtCore.QTextStream'>
<class 'PyQt5.QtCore.QTextStream.FieldAlignment'>
<class 'PyQt5.QtCore.QTextStream.NumberFlag'>
<class 'PyQt5.QtCore.QTextStream.NumberFlags'>
<class 'PyQt5.QtCore.QTextStream.RealNumberNotation'>
<class 'PyQt5.QtCore.QTextStream.Status'>
Get enums for <class 'PyQt5.QtCore.QTextStreamManipulator'>
Get enums for <class 'PyQt5.QtCore.QThread'>
<class 'PyQt5.QtCore.QThread.Priority'>
Get enums for <class 'PyQt5.QtCore.QThreadPool'>
Get enums for <class 'PyQt5.QtCore.QTime'>
Get enums for <class 'PyQt5.QtCore.QTimeLine'>
<class 'PyQt5.QtCore.QTimeLine.CurveShape'>
<class 'PyQt5.QtCore.QTimeLine.Direction'>
<class 'PyQt5.QtCore.QTimeLine.State'>
Get enums for <class 'PyQt5.QtCore.QTimeZone'>
<class 'PyQt5.QtCore.QTimeZone.NameType'>
<class 'PyQt5.QtCore.QTimeZone.OffsetData'>
<class 'PyQt5.QtCore.QTimeZone.TimeType'>
Get enums for <class 'PyQt5.QtCore.QTimer'>
Get enums for <class 'PyQt5.QtCore.QTimerEvent'>
Get enums for <class 'PyQt5.QtCore.QTranslator'>
Get enums for <class 'PyQt5.QtCore.QTransposeProxyModel'>
Get enums for <class 'PyQt5.QtCore.QUrl'>
<class 'PyQt5.QtCore.QUrl.ComponentFormattingOption'>
<class 'PyQt5.QtCore.QUrl.ComponentFormattingOptions'>
<class 'PyQt5.QtCore.QUrl.FormattingOptions'>
<class 'PyQt5.QtCore.QUrl.ParsingMode'>
<class 'PyQt5.QtCore.QUrl.UrlFormattingOption'>
<class 'PyQt5.QtCore.QUrl.UserInputResolutionOption'>
<class 'PyQt5.QtCore.QUrl.UserInputResolutionOptions'>
Get enums for <class 'PyQt5.QtCore.QUrlQuery'>
Get enums for <class 'PyQt5.QtCore.QUuid'>
<class 'PyQt5.QtCore.QUuid.StringFormat'>
<class 'PyQt5.QtCore.QUuid.Variant'>
<class 'PyQt5.QtCore.QUuid.Version'>
Get enums for <class 'PyQt5.QtCore.QVariant'>
<class 'PyQt5.QtCore.QVariant.Type'>
Get enums for <class 'PyQt5.QtCore.QVersionNumber'>
Get enums for <class 'PyQt5.QtCore.QWaitCondition'>
Get enums for <class 'PyQt5.QtCore.QWinEventNotifier'>
Get enums for <class 'PyQt5.QtCore.QWriteLocker'>
Get enums for <class 'PyQt5.QtCore.QXmlStreamAttribute'>
Get enums for <class 'PyQt5.QtCore.QXmlStreamAttributes'>
Get enums for <class 'PyQt5.QtCore.QXmlStreamEntityDeclaration'>
Get enums for <class 'PyQt5.QtCore.QXmlStreamEntityResolver'>
Get enums for <class 'PyQt5.QtCore.QXmlStreamNamespaceDeclaration'>
Get enums for <class 'PyQt5.QtCore.QXmlStreamNotationDeclaration'>
Get enums for <class 'PyQt5.QtCore.QXmlStreamReader'>
<class 'PyQt5.QtCore.QXmlStreamReader.Error'>
<class 'PyQt5.QtCore.QXmlStreamReader.ReadElementTextBehaviour'>
<class 'PyQt5.QtCore.QXmlStreamReader.TokenType'>
Get enums for <class 'PyQt5.QtCore.QXmlStreamWriter'>
Get enums for <class 'PyQt5.QtCore.Qt'>
<class 'PyQt5.QtCore.Qt.Alignment'>
<class 'PyQt5.QtCore.Qt.AlignmentFlag'>
<class 'PyQt5.QtCore.Qt.AnchorPoint'>
<class 'PyQt5.QtCore.Qt.ApplicationAttribute'>
<class 'PyQt5.QtCore.Qt.ApplicationState'>
<class 'PyQt5.QtCore.Qt.ApplicationStates'>
<class 'PyQt5.QtCore.Qt.ArrowType'>
<class 'PyQt5.QtCore.Qt.AspectRatioMode'>
<class 'PyQt5.QtCore.Qt.Axis'>
<class 'PyQt5.QtCore.Qt.BGMode'>
<class 'PyQt5.QtCore.Qt.BrushStyle'>
<class 'PyQt5.QtCore.Qt.CaseSensitivity'>
<class 'PyQt5.QtCore.Qt.CheckState'>
<class 'PyQt5.QtCore.Qt.ChecksumType'>
<class 'PyQt5.QtCore.Qt.ClipOperation'>
<class 'PyQt5.QtCore.Qt.ConnectionType'>
<class 'PyQt5.QtCore.Qt.ContextMenuPolicy'>
<class 'PyQt5.QtCore.Qt.CoordinateSystem'>
<class 'PyQt5.QtCore.Qt.Corner'>
<class 'PyQt5.QtCore.Qt.CursorMoveStyle'>
<class 'PyQt5.QtCore.Qt.CursorShape'>
<class 'PyQt5.QtCore.Qt.DateFormat'>
<class 'PyQt5.QtCore.Qt.DayOfWeek'>
<class 'PyQt5.QtCore.Qt.DockWidgetArea'>
<class 'PyQt5.QtCore.Qt.DockWidgetAreas'>
<class 'PyQt5.QtCore.Qt.DropAction'>
<class 'PyQt5.QtCore.Qt.DropActions'>
<class 'PyQt5.QtCore.Qt.Edge'>
<class 'PyQt5.QtCore.Qt.Edges'>
<class 'PyQt5.QtCore.Qt.EnterKeyType'>
<class 'PyQt5.QtCore.Qt.EventPriority'>
<class 'PyQt5.QtCore.Qt.FillRule'>
<class 'PyQt5.QtCore.Qt.FindChildOption'>
<class 'PyQt5.QtCore.Qt.FindChildOptions'>
<class 'PyQt5.QtCore.Qt.FocusPolicy'>
<class 'PyQt5.QtCore.Qt.FocusReason'>
<class 'PyQt5.QtCore.Qt.GestureFlag'>
<class 'PyQt5.QtCore.Qt.GestureFlags'>
<class 'PyQt5.QtCore.Qt.GestureState'>
<class 'PyQt5.QtCore.Qt.GestureType'>
<class 'PyQt5.QtCore.Qt.GlobalColor'>
<class 'PyQt5.QtCore.Qt.HitTestAccuracy'>
<class 'PyQt5.QtCore.Qt.ImageConversionFlag'>
<class 'PyQt5.QtCore.Qt.ImageConversionFlags'>
<class 'PyQt5.QtCore.Qt.InputMethodHint'>
<class 'PyQt5.QtCore.Qt.InputMethodHints'>
<class 'PyQt5.QtCore.Qt.InputMethodQueries'>
<class 'PyQt5.QtCore.Qt.InputMethodQuery'>
<class 'PyQt5.QtCore.Qt.ItemDataRole'>
<class 'PyQt5.QtCore.Qt.ItemFlag'>
<class 'PyQt5.QtCore.Qt.ItemFlags'>
<class 'PyQt5.QtCore.Qt.ItemSelectionMode'>
<class 'PyQt5.QtCore.Qt.ItemSelectionOperation'>
<class 'PyQt5.QtCore.Qt.Key'>
<class 'PyQt5.QtCore.Qt.KeyboardModifier'>
<class 'PyQt5.QtCore.Qt.KeyboardModifiers'>
<class 'PyQt5.QtCore.Qt.LayoutDirection'>
<class 'PyQt5.QtCore.Qt.MaskMode'>
<class 'PyQt5.QtCore.Qt.MatchFlag'>
<class 'PyQt5.QtCore.Qt.MatchFlags'>
<class 'PyQt5.QtCore.Qt.Modifier'>
<class 'PyQt5.QtCore.Qt.MouseButton'>
<class 'PyQt5.QtCore.Qt.MouseButtons'>
<class 'PyQt5.QtCore.Qt.MouseEventFlag'>
<class 'PyQt5.QtCore.Qt.MouseEventFlags'>
<class 'PyQt5.QtCore.Qt.MouseEventSource'>
<class 'PyQt5.QtCore.Qt.NativeGestureType'>
<class 'PyQt5.QtCore.Qt.NavigationMode'>
<class 'PyQt5.QtCore.Qt.Orientation'>
<class 'PyQt5.QtCore.Qt.Orientations'>
<class 'PyQt5.QtCore.Qt.PenCapStyle'>
<class 'PyQt5.QtCore.Qt.PenJoinStyle'>
<class 'PyQt5.QtCore.Qt.PenStyle'>
<class 'PyQt5.QtCore.Qt.ScreenOrientation'>
<class 'PyQt5.QtCore.Qt.ScreenOrientations'>
<class 'PyQt5.QtCore.Qt.ScrollBarPolicy'>
<class 'PyQt5.QtCore.Qt.ScrollPhase'>
<class 'PyQt5.QtCore.Qt.ShortcutContext'>
<class 'PyQt5.QtCore.Qt.SizeHint'>
<class 'PyQt5.QtCore.Qt.SizeMode'>
<class 'PyQt5.QtCore.Qt.SortOrder'>
<class 'PyQt5.QtCore.Qt.TabFocusBehavior'>
<class 'PyQt5.QtCore.Qt.TextElideMode'>
<class 'PyQt5.QtCore.Qt.TextFlag'>
<class 'PyQt5.QtCore.Qt.TextFormat'>
<class 'PyQt5.QtCore.Qt.TextInteractionFlag'>
<class 'PyQt5.QtCore.Qt.TextInteractionFlags'>
<class 'PyQt5.QtCore.Qt.TileRule'>
<class 'PyQt5.QtCore.Qt.TimeSpec'>
<class 'PyQt5.QtCore.Qt.TimerType'>
<class 'PyQt5.QtCore.Qt.ToolBarArea'>
<class 'PyQt5.QtCore.Qt.ToolBarAreas'>
<class 'PyQt5.QtCore.Qt.ToolButtonStyle'>
<class 'PyQt5.QtCore.Qt.TouchPointState'>
<class 'PyQt5.QtCore.Qt.TouchPointStates'>
<class 'PyQt5.QtCore.Qt.TransformationMode'>
<class 'PyQt5.QtCore.Qt.UIEffect'>
<class 'PyQt5.QtCore.Qt.WhiteSpaceMode'>
<class 'PyQt5.QtCore.Qt.WidgetAttribute'>
<class 'PyQt5.QtCore.Qt.WindowFlags'>
<class 'PyQt5.QtCore.Qt.WindowFrameSection'>
<class 'PyQt5.QtCore.Qt.WindowModality'>
<class 'PyQt5.QtCore.Qt.WindowState'>
<class 'PyQt5.QtCore.Qt.WindowStates'>
<class 'PyQt5.QtCore.Qt.WindowType'>
Get enums for <class 'PyQt5.QtCore.QtMsgType'>
Get enums for 2
Get enums for 0
Get enums for 3
Get enums for 4
Get enums for 2
Get enums for 1
Get enums for 5.15.10
Get enums for 5.15.13
Get enums for 331530
Get enums for 331533
Get enums for <class 'PyQt5.QtCore.pyqtProperty'>
Get enums for <class 'PyQt5.QtCore.pyqtSignal'>
Get enums for <class 'PyQt5.QtCore.pyqtBoundSignal'>
Get enums for {'sip_flags': '-n PyQt5.sip -t Qt_5_15_13 -t WS_WIN'}
Get enums for <class 'method'>
Get enums for <slot wrapper '__repr__' of 'object' objects>
Get enums for <slot wrapper '__eq__' of 'QVariant' objects>
Get enums for <slot wrapper '__ne__' of 'QVariant' objects>
Get enums for None
Get enums for <function __bool__ at 0x000001FA216F2AC0>
Get enums for <function __repr__ at 0x000001FA21720F40>
Get enums for <function __eq__ at 0x000001FA21720FE0>
Get enums for <function __ne__ at 0x000001FA21721080>
Get enums for <function __hash__ at 0x000001FA21721120>
Get enums for NULL
Get enums for PyQt6.QtGui
Get enums for None
Get enums for PyQt6
Get enums for <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FA1FD0CC20>
Get enums for ModuleSpec(name='PyQt6.QtGui', loader=<_frozen_importlib_external.ExtensionFileLoader object at 0x000001FA1FD0CC20>, origin='D:\\_QGIS\\PLUGINS\\isl_box\\.venv\\Lib\\site-packages\\PyQt6\\QtGui.pyd')
Get enums for <built-in function qGray>
Get enums for <built-in function qRgba>
Get enums for <built-in function qRgb>
Get enums for <built-in function qAlpha>
Get enums for <built-in function qBlue>
Get enums for <built-in function qGreen>
Get enums for <built-in function qRed>
Get enums for <built-in function qUnpremultiply>
Get enums for <built-in function qPremultiply>
Get enums for <built-in function qRgba64>
Get enums for <built-in function qPixelFormatAlpha>
Get enums for <built-in function qPixelFormatYuv>
Get enums for <built-in function qPixelFormatHsv>
Get enums for <built-in function qPixelFormatHsl>
Get enums for <built-in function qPixelFormatCmyk>
Get enums for <built-in function qPixelFormatGrayscale>
Get enums for <built-in function qPixelFormatRgba>
Get enums for <built-in function qFuzzyCompare>
Get enums for <built-in function qt_set_sequence_auto_mnemonic>
Get enums for <class 'PyQt6.QtGui.QAbstractFileIconProvider'>
Get enums for <class 'PyQt6.QtGui.QAbstractTextDocumentLayout'>
<class 'PyQt6.QtGui.QAbstractTextDocumentLayout.PaintContext'>
<class 'PyQt6.QtGui.QAbstractTextDocumentLayout.Selection'>
Get enums for <class 'PyQt6.QtGui.QAction'>
Get enums for <class 'PyQt6.QtGui.QActionEvent'>
Get enums for <class 'PyQt6.QtGui.QActionGroup'>
Get enums for <class 'PyQt6.QtGui.QBackingStore'>
Get enums for <class 'PyQt6.QtGui.QPaintDevice'>
Get enums for <class 'PyQt6.QtGui.QPixmap'>
Get enums for <class 'PyQt6.QtGui.QBitmap'>
Get enums for <class 'PyQt6.QtGui.QBrush'>
Get enums for <class 'PyQt6.QtGui.QChildWindowEvent'>
Get enums for <class 'PyQt6.QtGui.QClipboard'>
Get enums for <class 'PyQt6.QtGui.QCloseEvent'>
Get enums for <class 'PyQt6.QtGui.QColor'>
Get enums for <class 'PyQt6.QtGui.QColorConstants'>
<class 'PyQt6.QtGui.QColorConstants.Svg'>
Get enums for <class 'PyQt6.QtGui.QColorSpace'>
Get enums for <class 'PyQt6.QtGui.QColorTransform'>
Get enums for <class 'PyQt6.QtGui.QGradient'>
Get enums for <class 'PyQt6.QtGui.QConicalGradient'>
Get enums for <class 'PyQt6.QtGui.QInputEvent'>
Get enums for <class 'PyQt6.QtGui.QContextMenuEvent'>
Get enums for <class 'PyQt6.QtGui.QCursor'>
Get enums for <class 'PyQt6.QtGui.QDesktopServices'>
Get enums for <class 'PyQt6.QtGui.QValidator'>
Get enums for <class 'PyQt6.QtGui.QDoubleValidator'>
Get enums for <class 'PyQt6.QtGui.QDrag'>
Get enums for <class 'PyQt6.QtGui.QDropEvent'>
Get enums for <class 'PyQt6.QtGui.QDragMoveEvent'>
Get enums for <class 'PyQt6.QtGui.QDragEnterEvent'>
Get enums for <class 'PyQt6.QtGui.QDragLeaveEvent'>
Get enums for <class 'PyQt6.QtGui.QPointerEvent'>
Get enums for <class 'PyQt6.QtGui.QSinglePointEvent'>
Get enums for <class 'PyQt6.QtGui.QEnterEvent'>
Get enums for <class 'PyQt6.QtGui.QEventPoint'>
Get enums for <class 'PyQt6.QtGui.QExposeEvent'>
Get enums for <class 'PyQt6.QtGui.QFileOpenEvent'>
Get enums for <class 'PyQt6.QtGui.QFileSystemModel'>
Get enums for <class 'PyQt6.QtGui.QFocusEvent'>
Get enums for <class 'PyQt6.QtGui.QFont'>
<class 'PyQt6.QtGui.QFont.Tag'>
Get enums for <class 'PyQt6.QtGui.QFontDatabase'>
Get enums for <class 'PyQt6.QtGui.QFontInfo'>
Get enums for <class 'PyQt6.QtGui.QFontMetrics'>
Get enums for <class 'PyQt6.QtGui.QFontMetricsF'>
Get enums for <class 'PyQt6.QtGui.QGlyphRun'>
Get enums for <class 'PyQt6.QtGui.QGuiApplication'>
Get enums for <class 'PyQt6.QtGui.QHelpEvent'>
Get enums for <class 'PyQt6.QtGui.QHideEvent'>
Get enums for <class 'PyQt6.QtGui.QHoverEvent'>
Get enums for <class 'PyQt6.QtGui.QIcon'>
Get enums for <class 'PyQt6.QtGui.QIconDragEvent'>
Get enums for <class 'PyQt6.QtGui.QIconEngine'>
<class 'PyQt6.QtGui.QIconEngine.ScaledPixmapArgument'>
Get enums for <class 'PyQt6.QtGui.QImage'>
Get enums for <class 'PyQt6.QtGui.QImageIOHandler'>
Get enums for <class 'PyQt6.QtGui.QImageReader'>
Get enums for <class 'PyQt6.QtGui.QImageWriter'>
Get enums for <class 'PyQt6.QtGui.QInputDevice'>
Get enums for <class 'PyQt6.QtGui.QInputMethod'>
Get enums for <class 'PyQt6.QtGui.QInputMethodEvent'>
<class 'PyQt6.QtGui.QInputMethodEvent.Attribute'>
Get enums for <class 'PyQt6.QtGui.QInputMethodQueryEvent'>
Get enums for <class 'PyQt6.QtGui.QIntValidator'>
Get enums for <class 'PyQt6.QtGui.QKeyEvent'>
Get enums for <class 'PyQt6.QtGui.QKeySequence'>
Get enums for <class 'PyQt6.QtGui.QLinearGradient'>
Get enums for <class 'PyQt6.QtGui.QMatrix2x2'>
Get enums for <class 'PyQt6.QtGui.QMatrix2x3'>
Get enums for <class 'PyQt6.QtGui.QMatrix2x4'>
Get enums for <class 'PyQt6.QtGui.QMatrix3x2'>
Get enums for <class 'PyQt6.QtGui.QMatrix3x3'>
Get enums for <class 'PyQt6.QtGui.QMatrix3x4'>
Get enums for <class 'PyQt6.QtGui.QMatrix4x2'>
Get enums for <class 'PyQt6.QtGui.QMatrix4x3'>
Get enums for <class 'PyQt6.QtGui.QMatrix4x4'>
Get enums for <class 'PyQt6.QtGui.QMouseEvent'>
Get enums for <class 'PyQt6.QtGui.QMoveEvent'>
Get enums for <class 'PyQt6.QtGui.QMovie'>
Get enums for <class 'PyQt6.QtGui.QNativeGestureEvent'>
Get enums for <class 'PyQt6.QtGui.QSurface'>
Get enums for <class 'PyQt6.QtGui.QOffscreenSurface'>
Get enums for <class 'PyQt6.QtGui.QOpenGLContext'>
Get enums for <class 'PyQt6.QtGui.QOpenGLContextGroup'>
Get enums for <class 'PyQt6.QtGui.QPageLayout'>
Get enums for <class 'PyQt6.QtGui.QPageRanges'>
<class 'PyQt6.QtGui.QPageRanges.Range'>
Get enums for <class 'PyQt6.QtGui.QPageSize'>
Get enums for <class 'PyQt6.QtGui.QPagedPaintDevice'>
Get enums for <class 'PyQt6.QtGui.QWindow'>
Get enums for <class 'PyQt6.QtGui.QPaintDeviceWindow'>
Get enums for <class 'PyQt6.QtGui.QPaintEngine'>
Get enums for <class 'PyQt6.QtGui.QPaintEngineState'>
Get enums for <class 'PyQt6.QtGui.QPaintEvent'>
Get enums for <class 'PyQt6.QtGui.QPainter'>
<class 'PyQt6.QtGui.QPainter.PixmapFragment'>
Get enums for <class 'PyQt6.QtGui.QPainterPath'>
<class 'PyQt6.QtGui.QPainterPath.Element'>
Get enums for <class 'PyQt6.QtGui.QPainterPathStroker'>
Get enums for <class 'PyQt6.QtGui.QPalette'>
Get enums for <class 'PyQt6.QtGui.QPdfWriter'>
Get enums for <class 'PyQt6.QtGui.QPen'>
Get enums for <class 'PyQt6.QtGui.QPicture'>
Get enums for <class 'PyQt6.QtGui.QPixelFormat'>
Get enums for <class 'PyQt6.QtGui.QPixmapCache'>
<class 'PyQt6.QtGui.QPixmapCache.Key'>
Get enums for <class 'PyQt6.QtGui.QPlatformSurfaceEvent'>
Get enums for <class 'PyQt6.QtGui.QPointingDevice'>
Get enums for <class 'PyQt6.QtGui.QPointingDeviceUniqueId'>
Get enums for <class 'PyQt6.QtGui.QPolygon'>
Get enums for <class 'PyQt6.QtGui.QPolygonF'>
Get enums for <class 'PyQt6.QtGui.QQuaternion'>
Get enums for <class 'PyQt6.QtGui.QRadialGradient'>
Get enums for <class 'PyQt6.QtGui.QRasterWindow'>
Get enums for <class 'PyQt6.QtGui.QRawFont'>
Get enums for <class 'PyQt6.QtGui.QRegion'>
Get enums for <class 'PyQt6.QtGui.QRegularExpressionValidator'>
Get enums for <class 'PyQt6.QtGui.QResizeEvent'>
Get enums for <class 'PyQt6.QtGui.QRgba64'>
Get enums for <class 'PyQt6.QtGui.QScreen'>
Get enums for <class 'PyQt6.QtGui.QScrollEvent'>
Get enums for <class 'PyQt6.QtGui.QScrollPrepareEvent'>
Get enums for <class 'PyQt6.QtGui.QSessionManager'>
Get enums for <class 'PyQt6.QtGui.QShortcut'>
Get enums for <class 'PyQt6.QtGui.QShortcutEvent'>
Get enums for <class 'PyQt6.QtGui.QShowEvent'>
Get enums for <class 'PyQt6.QtGui.QStandardItem'>
Get enums for <class 'PyQt6.QtGui.QStandardItemModel'>
Get enums for <class 'PyQt6.QtGui.QStaticText'>
Get enums for <class 'PyQt6.QtGui.QStatusTipEvent'>
Get enums for <class 'PyQt6.QtGui.QStyleHints'>
Get enums for <class 'PyQt6.QtGui.QSurfaceFormat'>
Get enums for <class 'PyQt6.QtGui.QSyntaxHighlighter'>
Get enums for <class 'PyQt6.QtGui.QTabletEvent'>
Get enums for <class 'PyQt6.QtGui.QTextBlock'>
<class 'PyQt6.QtGui.QTextBlock.iterator'>
Get enums for <class 'PyQt6.QtGui.QTextFormat'>
Get enums for <class 'PyQt6.QtGui.QTextBlockFormat'>
Get enums for <class 'PyQt6.QtGui.QTextObject'>
Get enums for <class 'PyQt6.QtGui.QTextBlockGroup'>
Get enums for <class 'PyQt6.QtGui.QTextBlockUserData'>
Get enums for <class 'PyQt6.QtGui.QTextCharFormat'>
Get enums for <class 'PyQt6.QtGui.QTextCursor'>
Get enums for <class 'PyQt6.QtGui.QTextDocument'>
Get enums for <class 'PyQt6.QtGui.QTextDocumentFragment'>
Get enums for <class 'PyQt6.QtGui.QTextDocumentWriter'>
Get enums for <class 'PyQt6.QtGui.QTextFragment'>
Get enums for <class 'PyQt6.QtGui.QTextFrame'>
<class 'PyQt6.QtGui.QTextFrame.iterator'>
Get enums for <class 'PyQt6.QtGui.QTextFrameFormat'>
Get enums for <class 'PyQt6.QtGui.QTextImageFormat'>
Get enums for <class 'PyQt6.QtGui.QTextInlineObject'>
Get enums for <class 'PyQt6.QtGui.QTextItem'>
Get enums for <class 'PyQt6.QtGui.QTextLayout'>
<class 'PyQt6.QtGui.QTextLayout.FormatRange'>
Get enums for <class 'PyQt6.QtGui.QTextLength'>
Get enums for <class 'PyQt6.QtGui.QTextLine'>
Get enums for <class 'PyQt6.QtGui.QTextList'>
Get enums for <class 'PyQt6.QtGui.QTextListFormat'>
Get enums for <class 'PyQt6.QtGui.QTextObjectInterface'>
Get enums for <class 'PyQt6.QtGui.QTextOption'>
<class 'PyQt6.QtGui.QTextOption.Tab'>
Get enums for <class 'PyQt6.QtGui.QTextTable'>
Get enums for <class 'PyQt6.QtGui.QTextTableCell'>
Get enums for <class 'PyQt6.QtGui.QTextTableCellFormat'>
Get enums for <class 'PyQt6.QtGui.QTextTableFormat'>
Get enums for <class 'PyQt6.QtGui.QTouchEvent'>
Get enums for <class 'PyQt6.QtGui.QTransform'>
Get enums for <class 'PyQt6.QtGui.QUndoCommand'>
Get enums for <class 'PyQt6.QtGui.QUndoGroup'>
Get enums for <class 'PyQt6.QtGui.QUndoStack'>
Get enums for <class 'PyQt6.QtGui.QVector2D'>
Get enums for <class 'PyQt6.QtGui.QVector3D'>
Get enums for <class 'PyQt6.QtGui.QVector4D'>
Get enums for <class 'PyQt6.QtGui.QWhatsThisClickedEvent'>
Get enums for <class 'PyQt6.QtGui.QWheelEvent'>
Get enums for <class 'PyQt6.QtGui.QWindowStateChangeEvent'>
Get enums for D:\_QGIS\PLUGINS\isl_box\.venv\Lib\site-packages\PyQt6\QtGui.pyd
Get enums for PyQt6.QtWidgets
Get enums for None
Get enums for PyQt6
Get enums for <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FA1FD0F230>
Get enums for ModuleSpec(name='PyQt6.QtWidgets', loader=<_frozen_importlib_external.ExtensionFileLoader object at 0x000001FA1FD0F230>, origin='D:\\_QGIS\\PLUGINS\\isl_box\\.venv\\Lib\\site-packages\\PyQt6\\QtWidgets.pyd')
Get enums for <built-in function qDrawPlainRoundedRect>
Get enums for <built-in function qDrawBorderPixmap>
Get enums for <built-in function qDrawPlainRect>
Get enums for <built-in function qDrawWinPanel>
Get enums for <built-in function qDrawWinButton>
Get enums for <built-in function qDrawShadePanel>
Get enums for <built-in function qDrawShadeRect>
Get enums for <built-in function qDrawShadeLine>
Get enums for <class 'PyQt6.QtWidgets.QWidget'>
Get enums for <class 'PyQt6.QtWidgets.QAbstractButton'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsItem'>
Get enums for <class 'PyQt6.QtWidgets.QAbstractGraphicsShapeItem'>
Get enums for <class 'PyQt6.QtWidgets.QAbstractItemDelegate'>
Get enums for <class 'PyQt6.QtWidgets.QFrame'>
Get enums for <class 'PyQt6.QtWidgets.QAbstractScrollArea'>
Get enums for <class 'PyQt6.QtWidgets.QAbstractItemView'>
Get enums for <class 'PyQt6.QtWidgets.QAbstractSlider'>
Get enums for <class 'PyQt6.QtWidgets.QAbstractSpinBox'>
Get enums for <class 'PyQt6.QtWidgets.QApplication'>
Get enums for <class 'PyQt6.QtWidgets.QLayoutItem'>
Get enums for <class 'PyQt6.QtWidgets.QLayout'>
Get enums for <class 'PyQt6.QtWidgets.QBoxLayout'>
Get enums for <class 'PyQt6.QtWidgets.QButtonGroup'>
Get enums for <class 'PyQt6.QtWidgets.QCalendarWidget'>
Get enums for <class 'PyQt6.QtWidgets.QCheckBox'>
Get enums for <class 'PyQt6.QtWidgets.QDialog'>
Get enums for <class 'PyQt6.QtWidgets.QColorDialog'>
Get enums for <class 'PyQt6.QtWidgets.QColumnView'>
Get enums for <class 'PyQt6.QtWidgets.QComboBox'>
Get enums for <class 'PyQt6.QtWidgets.QPushButton'>
Get enums for <class 'PyQt6.QtWidgets.QCommandLinkButton'>
Get enums for <class 'PyQt6.QtWidgets.QStyle'>
Get enums for <class 'PyQt6.QtWidgets.QCommonStyle'>
Get enums for <class 'PyQt6.QtWidgets.QCompleter'>
Get enums for <class 'PyQt6.QtWidgets.QDataWidgetMapper'>
Get enums for <class 'PyQt6.QtWidgets.QDateTimeEdit'>
Get enums for <class 'PyQt6.QtWidgets.QDateEdit'>
Get enums for <class 'PyQt6.QtWidgets.QDial'>
Get enums for <class 'PyQt6.QtWidgets.QDialogButtonBox'>
Get enums for <class 'PyQt6.QtWidgets.QDockWidget'>
Get enums for <class 'PyQt6.QtWidgets.QDoubleSpinBox'>
Get enums for <class 'PyQt6.QtWidgets.QErrorMessage'>
Get enums for <class 'PyQt6.QtWidgets.QFileDialog'>
Get enums for <class 'PyQt6.QtWidgets.QFileIconProvider'>
Get enums for <class 'PyQt6.QtWidgets.QFocusFrame'>
Get enums for <class 'PyQt6.QtWidgets.QFontComboBox'>
Get enums for <class 'PyQt6.QtWidgets.QFontDialog'>
Get enums for <class 'PyQt6.QtWidgets.QFormLayout'>
<class 'PyQt6.QtWidgets.QFormLayout.TakeRowResult'>
Get enums for <class 'PyQt6.QtWidgets.QGesture'>
Get enums for <class 'PyQt6.QtWidgets.QGestureEvent'>
Get enums for <class 'PyQt6.QtWidgets.QGestureRecognizer'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsAnchor'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsLayoutItem'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsLayout'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsAnchorLayout'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsEffect'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsBlurEffect'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsColorizeEffect'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsDropShadowEffect'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsEllipseItem'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsGridLayout'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsItemGroup'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsLineItem'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsLinearLayout'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsObject'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsOpacityEffect'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsPathItem'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsPixmapItem'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsPolygonItem'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsWidget'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsProxyWidget'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsRectItem'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsTransform'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsRotation'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsScale'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsScene'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsSceneEvent'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsSceneContextMenuEvent'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsSceneDragDropEvent'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsSceneHelpEvent'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsSceneHoverEvent'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsSceneMouseEvent'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsSceneMoveEvent'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsSceneResizeEvent'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsSceneWheelEvent'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsSimpleTextItem'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsTextItem'>
Get enums for <class 'PyQt6.QtWidgets.QGraphicsView'>
Get enums for <class 'PyQt6.QtWidgets.QGridLayout'>
Get enums for <class 'PyQt6.QtWidgets.QGroupBox'>
Get enums for <class 'PyQt6.QtWidgets.QHBoxLayout'>
Get enums for <class 'PyQt6.QtWidgets.QHeaderView'>
Get enums for <class 'PyQt6.QtWidgets.QInputDialog'>
Get enums for <class 'PyQt6.QtWidgets.QItemDelegate'>
Get enums for <class 'PyQt6.QtWidgets.QItemEditorCreatorBase'>
Get enums for <class 'PyQt6.QtWidgets.QItemEditorFactory'>
Get enums for <class 'PyQt6.QtWidgets.QKeySequenceEdit'>
Get enums for <class 'PyQt6.QtWidgets.QLCDNumber'>
Get enums for <class 'PyQt6.QtWidgets.QLabel'>
Get enums for <class 'PyQt6.QtWidgets.QLineEdit'>
Get enums for <class 'PyQt6.QtWidgets.QListView'>
Get enums for <class 'PyQt6.QtWidgets.QListWidget'>
Get enums for <class 'PyQt6.QtWidgets.QListWidgetItem'>
Get enums for <class 'PyQt6.QtWidgets.QMainWindow'>
Get enums for <class 'PyQt6.QtWidgets.QMdiArea'>
Get enums for <class 'PyQt6.QtWidgets.QMdiSubWindow'>
Get enums for <class 'PyQt6.QtWidgets.QMenu'>
Get enums for <class 'PyQt6.QtWidgets.QMenuBar'>
Get enums for <class 'PyQt6.QtWidgets.QMessageBox'>
Get enums for <class 'PyQt6.QtWidgets.QPanGesture'>
Get enums for <class 'PyQt6.QtWidgets.QPinchGesture'>
Get enums for <class 'PyQt6.QtWidgets.QPlainTextDocumentLayout'>
Get enums for <class 'PyQt6.QtWidgets.QPlainTextEdit'>
Get enums for <class 'PyQt6.QtWidgets.QProgressBar'>
Get enums for <class 'PyQt6.QtWidgets.QProgressDialog'>
Get enums for <class 'PyQt6.QtWidgets.QProxyStyle'>
Get enums for <class 'PyQt6.QtWidgets.QRadioButton'>
Get enums for <class 'PyQt6.QtWidgets.QRubberBand'>
Get enums for <class 'PyQt6.QtWidgets.QScrollArea'>
Get enums for <class 'PyQt6.QtWidgets.QScrollBar'>
Get enums for <class 'PyQt6.QtWidgets.QScroller'>
Get enums for <class 'PyQt6.QtWidgets.QScrollerProperties'>
Get enums for <class 'PyQt6.QtWidgets.QSizeGrip'>
Get enums for <class 'PyQt6.QtWidgets.QSizePolicy'>
Get enums for <class 'PyQt6.QtWidgets.QSlider'>
Get enums for <class 'PyQt6.QtWidgets.QSpacerItem'>
Get enums for <class 'PyQt6.QtWidgets.QSpinBox'>
Get enums for <class 'PyQt6.QtWidgets.QSplashScreen'>
Get enums for <class 'PyQt6.QtWidgets.QSplitter'>
Get enums for <class 'PyQt6.QtWidgets.QSplitterHandle'>
Get enums for <class 'PyQt6.QtWidgets.QStackedLayout'>
Get enums for <class 'PyQt6.QtWidgets.QStackedWidget'>
Get enums for <class 'PyQt6.QtWidgets.QStatusBar'>
Get enums for <class 'PyQt6.QtWidgets.QStyleFactory'>
Get enums for <class 'PyQt6.QtWidgets.QStyleHintReturn'>
Get enums for <class 'PyQt6.QtWidgets.QStyleHintReturnMask'>
Get enums for <class 'PyQt6.QtWidgets.QStyleHintReturnVariant'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOption'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOptionButton'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOptionComplex'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOptionComboBox'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOptionDockWidget'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOptionFocusRect'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOptionFrame'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOptionGraphicsItem'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOptionGroupBox'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOptionHeader'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOptionHeaderV2'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOptionMenuItem'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOptionProgressBar'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOptionRubberBand'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOptionSizeGrip'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOptionSlider'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOptionSpinBox'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOptionTab'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOptionTabBarBase'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOptionTabWidgetFrame'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOptionTitleBar'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOptionToolBar'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOptionToolBox'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOptionToolButton'>
Get enums for <class 'PyQt6.QtWidgets.QStyleOptionViewItem'>
Get enums for <class 'PyQt6.QtWidgets.QStylePainter'>
Get enums for <class 'PyQt6.QtWidgets.QStyledItemDelegate'>
Get enums for <class 'PyQt6.QtWidgets.QSwipeGesture'>
Get enums for <class 'PyQt6.QtWidgets.QSystemTrayIcon'>
Get enums for <class 'PyQt6.QtWidgets.QTabBar'>
Get enums for <class 'PyQt6.QtWidgets.QTabWidget'>
Get enums for <class 'PyQt6.QtWidgets.QTableView'>
Get enums for <class 'PyQt6.QtWidgets.QTableWidget'>
Get enums for <class 'PyQt6.QtWidgets.QTableWidgetItem'>
Get enums for <class 'PyQt6.QtWidgets.QTableWidgetSelectionRange'>
Get enums for <class 'PyQt6.QtWidgets.QTapAndHoldGesture'>
Get enums for <class 'PyQt6.QtWidgets.QTapGesture'>
Get enums for <class 'PyQt6.QtWidgets.QTextEdit'>
<class 'PyQt6.QtWidgets.QTextEdit.ExtraSelection'>
Get enums for <class 'PyQt6.QtWidgets.QTextBrowser'>
Get enums for <class 'PyQt6.QtWidgets.QTimeEdit'>
Get enums for <class 'PyQt6.QtWidgets.QToolBar'>
Get enums for <class 'PyQt6.QtWidgets.QToolBox'>
Get enums for <class 'PyQt6.QtWidgets.QToolButton'>
Get enums for <class 'PyQt6.QtWidgets.QToolTip'>
Get enums for <class 'PyQt6.QtWidgets.QTreeView'>
Get enums for <class 'PyQt6.QtWidgets.QTreeWidget'>
Get enums for <class 'PyQt6.QtWidgets.QTreeWidgetItem'>
Get enums for <class 'PyQt6.QtWidgets.QTreeWidgetItemIterator'>
Get enums for <class 'PyQt6.QtWidgets.QUndoView'>
Get enums for <class 'PyQt6.QtWidgets.QVBoxLayout'>
Get enums for <class 'PyQt6.QtWidgets.QWhatsThis'>
Get enums for <class 'PyQt6.QtWidgets.QWidgetAction'>
Get enums for <class 'PyQt6.QtWidgets.QWidgetItem'>
Get enums for <class 'PyQt6.QtWidgets.QWizard'>
Get enums for <class 'PyQt6.QtWidgets.QWizardPage'>
Get enums for 16777215
Get enums for D:\_QGIS\PLUGINS\isl_box\.venv\Lib\site-packages\PyQt6\QtWidgets.pyd
Get enums for PyQt6.QtTest
Get enums for None
Get enums for PyQt6
Get enums for <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FA1FD57590>
Get enums for ModuleSpec(name='PyQt6.QtTest', loader=<_frozen_importlib_external.ExtensionFileLoader object at 0x000001FA1FD57590>, origin='D:\\_QGIS\\PLUGINS\\isl_box\\.venv\\Lib\\site-packages\\PyQt6\\QtTest.pyd')
Get enums for <class 'PyQt6.QtTest.QAbstractItemModelTester'>
Get enums for <class 'PyQt6.QtTest.QSignalSpy'>
Get enums for <class 'PyQt6.QtTest.QTest'>
Get enums for D:\_QGIS\PLUGINS\isl_box\.venv\Lib\site-packages\PyQt6\QtTest.pyd
Get enums for PyQt6.QtSql
Get enums for None
Get enums for PyQt6
Get enums for <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FA1FD57050>
Get enums for ModuleSpec(name='PyQt6.QtSql', loader=<_frozen_importlib_external.ExtensionFileLoader object at 0x000001FA1FD57050>, origin='D:\\_QGIS\\PLUGINS\\isl_box\\.venv\\Lib\\site-packages\\PyQt6\\QtSql.pyd')
Get enums for <class 'PyQt6.QtSql.QSql'>
Get enums for <class 'PyQt6.QtSql.QSqlDatabase'>
Get enums for <class 'PyQt6.QtSql.QSqlDriver'>
Get enums for <class 'PyQt6.QtSql.QSqlDriverCreatorBase'>
Get enums for <class 'PyQt6.QtSql.QSqlError'>
Get enums for <class 'PyQt6.QtSql.QSqlField'>
Get enums for <class 'PyQt6.QtSql.QSqlRecord'>
Get enums for <class 'PyQt6.QtSql.QSqlIndex'>
Get enums for <class 'PyQt6.QtSql.QSqlQuery'>
Get enums for <class 'PyQt6.QtSql.QSqlQueryModel'>
Get enums for <class 'PyQt6.QtSql.QSqlRelation'>
Get enums for <class 'PyQt6.QtSql.QSqlRelationalDelegate'>
Get enums for <class 'PyQt6.QtSql.QSqlTableModel'>
Get enums for <class 'PyQt6.QtSql.QSqlRelationalTableModel'>
Get enums for <class 'PyQt6.QtSql.QSqlResult'>
Get enums for D:\_QGIS\PLUGINS\isl_box\.venv\Lib\site-packages\PyQt6\QtSql.pyd
Get enums for PyQt6.QtSvg
Get enums for None
Get enums for PyQt6
Get enums for <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FA1FD573E0>
Get enums for ModuleSpec(name='PyQt6.QtSvg', loader=<_frozen_importlib_external.ExtensionFileLoader object at 0x000001FA1FD573E0>, origin='D:\\_QGIS\\PLUGINS\\isl_box\\.venv\\Lib\\site-packages\\PyQt6\\QtSvg.pyd')
Get enums for <class 'PyQt6.QtSvg.QSvgGenerator'>
Get enums for <class 'PyQt6.QtSvg.QSvgRenderer'>
Get enums for <class 'PyQt6.QtSvg.QtSvg'>
Get enums for D:\_QGIS\PLUGINS\isl_box\.venv\Lib\site-packages\PyQt6\QtSvg.pyd
Get enums for PyQt6.QtXml
Get enums for None
Get enums for PyQt6
Get enums for <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FA1FD576B0>
Get enums for ModuleSpec(name='PyQt6.QtXml', loader=<_frozen_importlib_external.ExtensionFileLoader object at 0x000001FA1FD576B0>, origin='D:\\_QGIS\\PLUGINS\\isl_box\\.venv\\Lib\\site-packages\\PyQt6\\QtXml.pyd')
Get enums for <class 'PyQt6.QtXml.QDomNode'>
Get enums for <class 'PyQt6.QtXml.QDomAttr'>
Get enums for <class 'PyQt6.QtXml.QDomCharacterData'>
Get enums for <class 'PyQt6.QtXml.QDomText'>
Get enums for <class 'PyQt6.QtXml.QDomCDATASection'>
Get enums for <class 'PyQt6.QtXml.QDomComment'>
Get enums for <class 'PyQt6.QtXml.QDomDocument'>
Get enums for <class 'PyQt6.QtXml.QDomDocumentFragment'>
Get enums for <class 'PyQt6.QtXml.QDomDocumentType'>
Get enums for <class 'PyQt6.QtXml.QDomElement'>
Get enums for <class 'PyQt6.QtXml.QDomEntity'>
Get enums for <class 'PyQt6.QtXml.QDomEntityReference'>
Get enums for <class 'PyQt6.QtXml.QDomImplementation'>
Get enums for <class 'PyQt6.QtXml.QDomNamedNodeMap'>
Get enums for <class 'PyQt6.QtXml.QDomNodeList'>
Get enums for <class 'PyQt6.QtXml.QDomNotation'>
Get enums for <class 'PyQt6.QtXml.QDomProcessingInstruction'>
Get enums for D:\_QGIS\PLUGINS\isl_box\.venv\Lib\site-packages\PyQt6\QtXml.pyd
Get enums for PyQt6.QtNetwork
Get enums for None
Get enums for PyQt6
Get enums for <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FA1FD561B0>
Get enums for ModuleSpec(name='PyQt6.QtNetwork', loader=<_frozen_importlib_external.ExtensionFileLoader object at 0x000001FA1FD561B0>, origin='D:\\_QGIS\\PLUGINS\\isl_box\\.venv\\Lib\\site-packages\\PyQt6\\QtNetwork.pyd')
Get enums for <class 'PyQt6.QtNetwork.QAbstractNetworkCache'>
Get enums for <class 'PyQt6.QtNetwork.QAbstractSocket'>
Get enums for <class 'PyQt6.QtNetwork.QAuthenticator'>
Get enums for <class 'PyQt6.QtNetwork.QDnsDomainNameRecord'>
Get enums for <class 'PyQt6.QtNetwork.QDnsHostAddressRecord'>
Get enums for <class 'PyQt6.QtNetwork.QDnsLookup'>
Get enums for <class 'PyQt6.QtNetwork.QDnsMailExchangeRecord'>
Get enums for <class 'PyQt6.QtNetwork.QDnsServiceRecord'>
Get enums for <class 'PyQt6.QtNetwork.QDnsTextRecord'>
Get enums for <class 'PyQt6.QtNetwork.QHostAddress'>
Get enums for <class 'PyQt6.QtNetwork.QHostInfo'>
Get enums for <class 'PyQt6.QtNetwork.QHstsPolicy'>
Get enums for <class 'PyQt6.QtNetwork.QHttp1Configuration'>
Get enums for <class 'PyQt6.QtNetwork.QHttp2Configuration'>
Get enums for <class 'PyQt6.QtNetwork.QHttpHeaders'>
Get enums for <class 'PyQt6.QtNetwork.QHttpMultiPart'>
Get enums for <class 'PyQt6.QtNetwork.QHttpPart'>
Get enums for <class 'PyQt6.QtNetwork.QLocalServer'>
Get enums for <class 'PyQt6.QtNetwork.QLocalSocket'>
Get enums for <class 'PyQt6.QtNetwork.QNetworkAccessManager'>
Get enums for <class 'PyQt6.QtNetwork.QNetworkAddressEntry'>
Get enums for <class 'PyQt6.QtNetwork.QNetworkCacheMetaData'>
Get enums for <class 'PyQt6.QtNetwork.QNetworkCookie'>
Get enums for <class 'PyQt6.QtNetwork.QNetworkCookieJar'>
Get enums for <class 'PyQt6.QtNetwork.QNetworkDatagram'>
Get enums for <class 'PyQt6.QtNetwork.QNetworkDiskCache'>
Get enums for <class 'PyQt6.QtNetwork.QNetworkInformation'>
Get enums for <class 'PyQt6.QtNetwork.QNetworkInterface'>
Get enums for <class 'PyQt6.QtNetwork.QNetworkProxy'>
Get enums for <class 'PyQt6.QtNetwork.QNetworkProxyFactory'>
Get enums for <class 'PyQt6.QtNetwork.QNetworkProxyQuery'>
Get enums for <class 'PyQt6.QtNetwork.QNetworkReply'>
Get enums for <class 'PyQt6.QtNetwork.QNetworkRequest'>
Get enums for <enum 'QOcspCertificateStatus'>
<class 'object'>
Get enums for <class 'PyQt6.QtNetwork.QOcspResponse'>
Get enums for <enum 'QOcspRevocationReason'>
<class 'object'>
Get enums for <class 'PyQt6.QtNetwork.QPasswordDigestor'>
Get enums for <class 'PyQt6.QtNetwork.QSsl'>
Get enums for <class 'PyQt6.QtNetwork.QSslCertificate'>
Get enums for <class 'PyQt6.QtNetwork.QSslCertificateExtension'>
Get enums for <class 'PyQt6.QtNetwork.QSslCipher'>
Get enums for <class 'PyQt6.QtNetwork.QSslConfiguration'>
Get enums for <class 'PyQt6.QtNetwork.QSslDiffieHellmanParameters'>
Get enums for <class 'PyQt6.QtNetwork.QSslEllipticCurve'>
Get enums for <class 'PyQt6.QtNetwork.QSslError'>
Get enums for <class 'PyQt6.QtNetwork.QSslKey'>
Get enums for <class 'PyQt6.QtNetwork.QSslPreSharedKeyAuthenticator'>
Get enums for <class 'PyQt6.QtNetwork.QTcpServer'>
Get enums for <class 'PyQt6.QtNetwork.QSslServer'>
Get enums for <class 'PyQt6.QtNetwork.QTcpSocket'>
Get enums for <class 'PyQt6.QtNetwork.QSslSocket'>
Get enums for <class 'PyQt6.QtNetwork.QUdpSocket'>
Get enums for D:\_QGIS\PLUGINS\isl_box\.venv\Lib\site-packages\PyQt6\QtNetwork.pyd
Get enums for PyQt6.QtPrintSupport
Get enums for None
Get enums for PyQt6
Get enums for <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FA1FD55610>
Get enums for ModuleSpec(name='PyQt6.QtPrintSupport', loader=<_frozen_importlib_external.ExtensionFileLoader object at 0x000001FA1FD55610>, origin='D:\\_QGIS\\PLUGINS\\isl_box\\.venv\\Lib\\site-packages\\PyQt6\\QtPrintSupport.pyd')
Get enums for <class 'PyQt6.QtPrintSupport.QAbstractPrintDialog'>
Get enums for <class 'PyQt6.QtPrintSupport.QPageSetupDialog'>
Get enums for <class 'PyQt6.QtPrintSupport.QPrintDialog'>
Get enums for <class 'PyQt6.QtPrintSupport.QPrintEngine'>
Get enums for <class 'PyQt6.QtPrintSupport.QPrintPreviewDialog'>
Get enums for <class 'PyQt6.QtPrintSupport.QPrintPreviewWidget'>
Get enums for <class 'PyQt6.QtPrintSupport.QPrinter'>
Get enums for <class 'PyQt6.QtPrintSupport.QPrinterInfo'>
Get enums for D:\_QGIS\PLUGINS\isl_box\.venv\Lib\site-packages\PyQt6\QtPrintSupport.pyd
Get enums for PyQt6.Qsci
Get enums for None
Get enums for PyQt6
Get enums for <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FA1FCE10D0>
Get enums for ModuleSpec(name='PyQt6.Qsci', loader=<_frozen_importlib_external.ExtensionFileLoader object at 0x000001FA1FCE10D0>, origin='D:\\_QGIS\\PLUGINS\\isl_box\\.venv\\Lib\\site-packages\\PyQt6\\Qsci.pyd')
Get enums for <class 'PyQt6.Qsci.QsciAbstractAPIs'>
Get enums for <class 'PyQt6.Qsci.QsciAPIs'>
Get enums for <class 'PyQt6.Qsci.QsciCommand'>
Get enums for <class 'PyQt6.Qsci.QsciCommandSet'>
Get enums for <class 'PyQt6.Qsci.QsciDocument'>
Get enums for <class 'PyQt6.Qsci.QsciLexer'>
Get enums for <class 'PyQt6.Qsci.QsciLexerAVS'>
Get enums for <class 'PyQt6.Qsci.QsciLexerAsm'>
Get enums for <class 'PyQt6.Qsci.QsciLexerBash'>
Get enums for <class 'PyQt6.Qsci.QsciLexerBatch'>
Get enums for <class 'PyQt6.Qsci.QsciLexerCMake'>
Get enums for <class 'PyQt6.Qsci.QsciLexerCPP'>
Get enums for <class 'PyQt6.Qsci.QsciLexerCSS'>
Get enums for <class 'PyQt6.Qsci.QsciLexerCSharp'>
Get enums for <class 'PyQt6.Qsci.QsciLexerCoffeeScript'>
Get enums for <class 'PyQt6.Qsci.QsciLexerCustom'>
Get enums for <class 'PyQt6.Qsci.QsciLexerD'>
Get enums for <class 'PyQt6.Qsci.QsciLexerDiff'>
Get enums for <class 'PyQt6.Qsci.QsciLexerFortran77'>
Get enums for <class 'PyQt6.Qsci.QsciLexerFortran'>
Get enums for <class 'PyQt6.Qsci.QsciLexerHTML'>
Get enums for <class 'PyQt6.Qsci.QsciLexerHex'>
Get enums for <class 'PyQt6.Qsci.QsciLexerIDL'>
Get enums for <class 'PyQt6.Qsci.QsciLexerIntelHex'>
Get enums for <class 'PyQt6.Qsci.QsciLexerJSON'>
Get enums for <class 'PyQt6.Qsci.QsciLexerJava'>
Get enums for <class 'PyQt6.Qsci.QsciLexerJavaScript'>
Get enums for <class 'PyQt6.Qsci.QsciLexerLua'>
Get enums for <class 'PyQt6.Qsci.QsciLexerMASM'>
Get enums for <class 'PyQt6.Qsci.QsciLexerMakefile'>
Get enums for <class 'PyQt6.Qsci.QsciLexerMarkdown'>
Get enums for <class 'PyQt6.Qsci.QsciLexerMatlab'>
Get enums for <class 'PyQt6.Qsci.QsciLexerNASM'>
Get enums for <class 'PyQt6.Qsci.QsciLexerOctave'>
Get enums for <class 'PyQt6.Qsci.QsciLexerPO'>
Get enums for <class 'PyQt6.Qsci.QsciLexerPOV'>
Get enums for <class 'PyQt6.Qsci.QsciLexerPascal'>
Get enums for <class 'PyQt6.Qsci.QsciLexerPerl'>
Get enums for <class 'PyQt6.Qsci.QsciLexerPostScript'>
Get enums for <class 'PyQt6.Qsci.QsciLexerProperties'>
Get enums for <class 'PyQt6.Qsci.QsciLexerPython'>
Get enums for <class 'PyQt6.Qsci.QsciLexerRuby'>
Get enums for <class 'PyQt6.Qsci.QsciLexerSQL'>
Get enums for <class 'PyQt6.Qsci.QsciLexerSRec'>
Get enums for <class 'PyQt6.Qsci.QsciLexerSpice'>
Get enums for <class 'PyQt6.Qsci.QsciLexerTCL'>
Get enums for <class 'PyQt6.Qsci.QsciLexerTeX'>
Get enums for <class 'PyQt6.Qsci.QsciLexerTekHex'>
Get enums for <class 'PyQt6.Qsci.QsciLexerVHDL'>
Get enums for <class 'PyQt6.Qsci.QsciLexerVerilog'>
Get enums for <class 'PyQt6.Qsci.QsciLexerXML'>
Get enums for <class 'PyQt6.Qsci.QsciLexerYAML'>
Get enums for <class 'PyQt6.Qsci.QsciMacro'>
Get enums for <class 'PyQt6.Qsci.QsciPrinter'>
Get enums for <class 'PyQt6.Qsci.QsciScintillaBase'>
Get enums for <class 'PyQt6.Qsci.QsciScintilla'>
Get enums for <class 'PyQt6.Qsci.QsciStyle'>
Get enums for <class 'PyQt6.Qsci.QsciStyledText'>
Get enums for 134657
Get enums for 2.14.1
Get enums for D:\_QGIS\PLUGINS\isl_box\.venv\Lib\site-packages\PyQt6\Qsci.pyd
Get enums for qgis.core
Get enums for
***************************************************************************
__init__.py
---------------------
Date : May 2014
Copyright : (C) 2014 by Nathan Woodrow
Email : woodrow dot nathan at gmail dot com
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************
Get enums for qgis.core
Get enums for <_frozen_importlib_external.SourceFileLoader object at 0x000001FA24771D30>
Get enums for ModuleSpec(name='qgis.core', loader=<_frozen_importlib_external.SourceFileLoader object at 0x000001FA24771D30>, origin='C:\\OSGeo4W\\apps\\qgis\\python\\qgis\\core\\__init__.py', submodule_search_locations=['C:\\OSGeo4W\\apps\\qgis\\python\\qgis\\core'])
Get enums for ['C:\\OSGeo4W\\apps\\qgis\\python\\qgis\\core']
Get enums for C:\OSGeo4W\apps\qgis\python\qgis\core\__init__.py
Get enums for C:\OSGeo4W\apps\qgis\python\qgis\core\__pycache__\__init__.cpython-312.pyc
Get enums for {'__name__': 'builtins', '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__package__': '', '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), '__build_class__': <built-in function __build_class__>, '__import__': <built-in function __import__>, 'abs': <built-in function abs>, 'all': <built-in function all>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'breakpoint': <built-in function breakpoint>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'compile': <built-in function compile>, 'delattr': <built-in function delattr>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'format': <built-in function format>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'aiter': <built-in function aiter>, 'len': <built-in function len>, 'locals': <built-in function locals>, 'max': <built-in function max>, 'min': <built-in function min>, 'next': <built-in function next>, 'anext': <built-in function anext>, 'oct': <built-in function oct>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'repr': <built-in function repr>, 'round': <built-in function round>, 'setattr': <built-in function setattr>, 'sorted': <built-in function sorted>, 'sum': <built-in function sum>, 'vars': <built-in function vars>, 'None': None, 'Ellipsis': Ellipsis, 'NotImplemented': NotImplemented, 'False': False, 'True': True, 'bool': <class 'bool'>, 'memoryview': <class 'memoryview'>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'classmethod': <class 'classmethod'>, 'complex': <class 'complex'>, 'dict': <class 'dict'>, 'enumerate': <class 'enumerate'>, 'filter': <class 'filter'>, 'float': <class 'float'>, 'frozenset': <class 'frozenset'>, 'property': <class 'property'>, 'int': <class 'int'>, 'list': <class 'list'>, 'map': <class 'map'>, 'object': <class 'object'>, 'range': <class 'range'>, 'reversed': <class 'reversed'>, 'set': <class 'set'>, 'slice': <class 'slice'>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'zip': <class 'zip'>, '__debug__': True, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'Exception': <class 'Exception'>, 'GeneratorExit': <class 'GeneratorExit'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'SystemExit': <class 'SystemExit'>, 'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BufferError': <class 'BufferError'>, 'EOFError': <class 'EOFError'>, 'ImportError': <class 'ImportError'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'NameError': <class 'NameError'>, 'OSError': <class 'OSError'>, 'ReferenceError': <class 'ReferenceError'>, 'RuntimeError': <class 'RuntimeError'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SystemError': <class 'SystemError'>, 'TypeError': <class 'TypeError'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'FloatingPointError': <class 'FloatingPointError'>, 'OverflowError': <class 'OverflowError'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, 'BytesWarning': <class 'BytesWarning'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EncodingWarning': <class 'EncodingWarning'>, 'FutureWarning': <class 'FutureWarning'>, 'ImportWarning': <class 'ImportWarning'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'BlockingIOError': <class 'BlockingIOError'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionError': <class 'ConnectionError'>, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'NotADirectoryError': <class 'NotADirectoryError'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'TimeoutError': <class 'TimeoutError'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'KeyError': <class 'KeyError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NotImplementedError': <class 'NotImplementedError'>, 'RecursionError': <class 'RecursionError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeError': <class 'UnicodeError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'TabError': <class 'TabError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'EnvironmentError': <class 'OSError'>, 'IOError': <class 'OSError'>, 'WindowsError': <class 'OSError'>, 'open': <built-in function open>, 'quit': Use quit() or Ctrl-Z plus Return to exit, 'exit': Use exit() or Ctrl-Z plus Return to exit, 'copyright': Copyright (c) 2001-2023 Python Software Foundation.
All Rights Reserved.
Copyright (c) 2000 BeOpen.com.
All Rights Reserved.
Copyright (c) 1995-2001 Corporation for National Research Initiatives.
All Rights Reserved.
Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam.
All Rights Reserved., 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands
for supporting Python development. See www.python.org for more information., 'license': See https://www.python.org/psf/license/, 'help': Type help() for interactive help, or help(object) for help about object.}
Get enums for Nathan Woodrow
Get enums for May 2014
Get enums for (C) 2014, Nathan Woodrow
Get enums for NULL
Get enums for <built-in function stringToSymbolLayerReferenceList>
Get enums for <built-in function symbolLayerReferenceListToString>
Get enums for <built-in function compareWkt>
Get enums for <built-in function geoNone>
Get enums for <built-in function geoEpsgCrsAuthId>
Get enums for <built-in function geoProj4>
Get enums for <built-in function geoWkt>
Get enums for <built-in function qgsVsiPrefix>
Get enums for <built-in function qgsVariantGreaterThan>
Get enums for <built-in function qgsVariantEqual>
Get enums for <built-in function qgsVariantLessThan>
Get enums for <built-in function qgsPermissiveToLongLong>
Get enums for <built-in function qgsPermissiveToInt>
Get enums for <built-in function qgsPermissiveToDouble>
Get enums for <built-in function qgsRound>
Get enums for <built-in function qgsDoubleNearSig>
Get enums for <built-in function qgsFloatNear>
Get enums for <built-in function qgsDoubleNear>
Get enums for <built-in function qgsNanCompatibleEquals>
Get enums for <built-in function qgsDoubleToString>
Get enums for <built-in function qHash>
Get enums for <class 'qgis._core.ColorrampTable'>
Get enums for <class 'qgis._core.LabelSettingsTable'>
Get enums for <class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
<class 'qgis._core.Qgis.AnnotationItemFlags'>
<class 'qgis._core.Qgis'>
|
I fail to reproduce the issue on master (but script hasn't change since 3.38.1). @nicogodet @kannes Did you modifiy the python script because it looks like code and traceback line number have changed. How did you installed QGIS ? with packages? Which distribution ? |
@troopa81 my VSCode has a format on save by default thats why and I also add some print and depth counter to avoid python error (look for comment with your GH name) my pyqt5_to_pyqt6.py script#!/usr/bin/env python3
"""
***************************************************************************
3to4.py
---------------------
Date : 2023 December
Copyright : (C) 2023 by Julien Cabieces
Email : julien dot cabieces at oslandia dot com
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************
"""
"""
Migrate a folder containing python files from QGIS3/Qt5 to QGIS4/Qt6
Highly inspired from this video https://www.youtube.com/watch?v=G1omxo5pphw
needed tools:
pip install astpretty tokenize-rt
Few useful commands:
- display python file ast
astpretty --no-show-offsets myfile.py
- display file tokens
tokenize-rt myfile.py
"""
__author__ = "Julien Cabieces"
__date__ = "2023 December"
__copyright__ = "(C) 2023, Julien Cabieces"
import argparse
import ast
import glob
import inspect
import os
import sys
from collections import defaultdict
from enum import Enum
from typing import Sequence
from PyQt6 import (
Qsci,
QtCore,
QtGui,
QtNetwork,
QtPrintSupport,
QtSql,
QtSvg,
QtTest,
QtWidgets,
QtXml,
)
from PyQt6.Qsci import * # noqa: F403
from PyQt6.QtCore import * # noqa: F403
from PyQt6.QtGui import * # noqa: F403
from PyQt6.QtNetwork import * # noqa: F403
from PyQt6.QtPrintSupport import * # noqa: F403
from PyQt6.QtSql import * # noqa: F403
from PyQt6.QtTest import * # noqa: F403
from PyQt6.QtWidgets import * # noqa: F403
from PyQt6.QtXml import * # noqa: F403
from tokenize_rt import Offset, reversed_enumerate, src_to_tokens, tokens_to_src
try:
import qgis._3d as qgis_3d # noqa: F403
import qgis.analysis as qgis_analysis # noqa: F403
import qgis.core as qgis_core # noqa: F403
import qgis.gui as qgis_gui # noqa: F403
from qgis._3d import * # noqa: F403
from qgis.analysis import * # noqa: F403
from qgis.core import * # noqa: F403
from qgis.gui import * # noqa: F403
except ImportError:
qgis_core = None
qgis_gui = None
qgis_analysis = None
qgis_3d = None
print("QGIS classes not available for introspection, only a partial upgrade will be performed")
sys.setrecursionlimit(1500)
target_modules = [
QtCore,
QtGui,
QtWidgets,
QtTest,
QtSql,
QtSvg,
QtXml,
QtNetwork,
QtPrintSupport,
Qsci,
]
if qgis_core is not None:
target_modules.extend([qgis_core, qgis_gui, qgis_analysis, qgis_3d])
# qmetatype which have been renamed
qmetatype_mapping = {
"Invalid": "UnknownType",
"BitArray": "QBitArray",
"Bitmap": "QBitmap",
"Brush": "QBrush",
"ByteArray": "QByteArray",
"Char": "QChar",
"Color": "QColor",
"Cursor": "QCursor",
"Date": "QDate",
"DateTime": "QDateTime",
"EasingCurve": "QEasingCurve",
"Uuid": "QUuid",
"ModelIndex": "QModelIndex",
"PersistentModelIndex": "QPersistentModelIndex",
"Font": "QFont",
"Hash": "QVariantHash",
"Icon": "QIcon",
"Image": "QImage",
"KeySequence": "QKeySequence",
"Line": "QLine",
"LineF": "QLineF",
"List": "QVariantList",
"Locale": "QLocale",
"Map": "QVariantMap",
"Transform": "QTransform",
"Matrix4x4": "QMatrix4x4",
"Palette": "QPalette",
"Pen": "QPen",
"Pixmap": "QPixmap",
"Point": "QPoint",
"PointF": "QPointF",
"Polygon": "QPolygon",
"PolygonF": "QPolygonF",
"Quaternion": "QQuaternion",
"Rect": "QRect",
"RectF": "QRectF",
"RegularExpression": "QRegularExpression",
"Region": "QRegion",
"Size": "QSize",
"SizeF": "QSizeF",
"SizePolicy": "QSizePolicy",
"String": "QString",
"StringList": "QStringList",
"TextFormat": "QTextFormat",
"TextLength": "QTextLength",
"Time": "QTime",
"Url": "QUrl",
"Vector2D": "QVector2D",
"Vector3D": "QVector3D",
"Vector4D": "QVector4D",
"UserType": "User",
}
deprecated_renamed_enums = {
("Qt", "MidButton"): ("MouseButton", "MiddleButton"),
("Qt", "TextColorRole"): ("ItemDataRole", "ForegroundRole"),
("Qt", "BackgroundColorRole"): ("ItemDataRole", "BackgroundRole"),
("QPainter", "HighQualityAntialiasing"): ("RenderHint", "Antialiasing"),
}
rename_function_attributes = {"exec_": "exec"}
rename_function_definitions = {"exec_": "exec"}
import_warnings = {
"QRegExp": "QRegExp is removed in Qt6, please use QRegularExpression for Qt5/Qt6 compatibility"
}
# { (class, enum_value) : enum_name }
qt_enums = {}
ambiguous_enums = defaultdict(set)
def fix_file(filename: str, qgis3_compat: bool) -> int:
with open(filename, encoding="UTF-8") as f:
contents = f.read()
fix_qvariant_type = [] # QVariant.Int, QVariant.Double ...
fix_pyqt_import = [] # from PyQt5.QtXXX
fix_qt_enums = {} # Unscoping of enums
member_renames = {}
token_renames = {}
function_def_renames = {}
rename_qt_enums = [] # Renaming deprecated removed enums
custom_updates = {}
imported_modules = set()
extra_imports = defaultdict(set)
removed_imports = defaultdict(set)
import_offsets = {}
object_types = {}
def visit_assign(_node: ast.Assign, _parent):
if (
isinstance(_node.value, ast.Call)
and isinstance(_node.value.func, ast.Name)
and _node.value.func.id in ("QFontMetrics", "QFontMetricsF")
):
object_types[_node.targets[0].id] = _node.value.func.id
def visit_call(_node: ast.Call, _parent):
if isinstance(_node.func, ast.Attribute):
if _node.func.attr in rename_function_attributes:
attr_node = _node.func
member_renames[
Offset(_node.func.lineno, attr_node.end_col_offset - len(_node.func.attr) - 1)
] = rename_function_attributes[_node.func.attr]
if _node.func.attr == "addAction":
if len(_node.args) >= 4:
sys.stderr.write(
f"{filename}:{_node.lineno}:{_node.col_offset} WARNING: fragile call to addAction. Use my_action = QAction(...), obj.addAction(my_action) instead.\n"
)
if _node.func.attr == "desktop":
if len(_node.args) == 0:
sys.stderr.write(
f"{filename}:{_node.lineno}:{_node.col_offset} WARNING: QDesktopWidget is deprecated and removed in Qt6. Replace with alternative approach instead.\n"
)
if isinstance(_node.func, ast.Name) and _node.func.id == "QVariant":
if not _node.args:
extra_imports["qgis.core"].update({"NULL"})
def _invalid_qvariant_to_null(start_index: int, tokens):
assert tokens[start_index].src == "QVariant"
assert tokens[start_index + 1].src == "("
assert tokens[start_index + 2].src == ")"
tokens[start_index] = tokens[start_index]._replace(src="NULL")
for i in range(start_index + 1, start_index + 3):
tokens[i] = tokens[i]._replace(src="")
custom_updates[Offset(_node.lineno, _node.col_offset)] = _invalid_qvariant_to_null
elif (
len(_node.args) == 1
and isinstance(_node.args[0], ast.Attribute)
and isinstance(_node.args[0].value, ast.Name)
and _node.args[0].value.id == "QVariant"
):
extra_imports["qgis.core"].update({"NULL"})
def _fix_null_qvariant(start_index: int, tokens):
assert tokens[start_index].src == "QVariant"
assert tokens[start_index + 1].src == "("
assert tokens[start_index + 2].src == "QVariant"
assert tokens[start_index + 3].src == "."
assert tokens[start_index + 5].src == ")"
tokens[start_index] = tokens[start_index]._replace(src="NULL")
for i in range(start_index + 1, start_index + 6):
tokens[i] = tokens[i]._replace(src="")
custom_updates[Offset(_node.lineno, _node.col_offset)] = _fix_null_qvariant
elif isinstance(_node.func, ast.Name) and _node.func.id == "QDateTime":
if len(_node.args) == 8:
# QDateTime(yyyy, mm, dd, hh, MM, ss, ms, ts) doesn't work anymore,
# so port to more reliable QDateTime(QDate, QTime, ts) form
extra_imports["qgis.PyQt.QtCore"].update({"QDate", "QTime"})
def _fix_qdatetime_construct(start_index: int, tokens):
i = start_index + 1
assert tokens[i].src == "("
tokens[i] = tokens[i]._replace(src="(QDate(")
while tokens[i].offset < Offset(_node.args[2].lineno, _node.args[2].col_offset):
i += 1
assert tokens[i + 1].src == ","
i += 1
tokens[i] = tokens[i]._replace(src="), QTime(")
i += 1
while not tokens[i].src.strip():
tokens[i] = tokens[i]._replace(src="")
i += 1
while tokens[i].offset < Offset(_node.args[6].lineno, _node.args[6].col_offset):
i += 1
i += 1
assert tokens[i].src == ","
tokens[i] = tokens[i]._replace(src="),")
custom_updates[Offset(_node.lineno, _node.col_offset)] = _fix_qdatetime_construct
elif (
len(_node.args) == 1
and isinstance(_node.args[0], ast.Call)
and _node.args[0].func.id == "QDate"
):
# QDateTime(QDate(..)) doesn't work anymore,
# so port to more reliable QDateTime(QDate(...), QTime(0,0,0)) form
extra_imports["qgis.PyQt.QtCore"].update({"QTime"})
def _fix_qdatetime_construct(start_index: int, tokens):
assert tokens[start_index].src == "QDateTime"
assert tokens[start_index + 1].src == "("
assert tokens[start_index + 2].src == "QDate"
assert tokens[start_index + 3].src == "("
i = start_index + 4
while tokens[i].offset < Offset(
_node.args[0].end_lineno, _node.args[0].end_col_offset
):
i += 1
assert tokens[i - 1].src == ")"
tokens[i - 1] = tokens[i - 1]._replace(src="), QTime(0, 0, 0)")
custom_updates[Offset(_node.lineno, _node.col_offset)] = _fix_qdatetime_construct
def visit_attribute(_node: ast.Attribute, _parent):
if isinstance(_node.value, ast.Name):
if _node.value.id == "qApp":
token_renames[Offset(_node.value.lineno, _node.value.col_offset)] = (
"QApplication.instance()"
)
extra_imports["qgis.PyQt.QtWidgets"].update({"QApplication"})
removed_imports["qgis.PyQt.QtWidgets"].update({"qApp"})
if _node.value.id == "QVariant" and _node.attr == "Type":
def _replace_qvariant_type(start_index: int, tokens):
# QVariant.Type.XXX doesn't exist, it should be QVariant.XXX
assert tokens[start_index].src == "QVariant"
assert tokens[start_index + 1].src == "."
assert tokens[start_index + 2].src == "Type"
assert tokens[start_index + 3].src == "."
tokens[start_index + 2] = tokens[start_index + 2]._replace(src="")
tokens[start_index + 3] = tokens[start_index + 3]._replace(src="")
custom_updates[Offset(node.lineno, node.col_offset)] = _replace_qvariant_type
if object_types.get(_node.value.id) in ("QFontMetrics", "QFontMetricsF"):
if _node.attr == "width":
sys.stderr.write(
f"{filename}:{_node.lineno}:{_node.col_offset} WARNING: QFontMetrics.width() "
"has been removed in Qt6. Use QFontMetrics.horizontalAdvance() if plugin can "
"safely require Qt >= 5.11, or QFontMetrics.boundingRect().width() otherwise.\n"
)
elif isinstance(_node.value, ast.Call):
if _node.attr == "width" and (
(
isinstance(_node.value.func, ast.Attribute)
and _node.value.func.attr == "fontMetrics"
)
or (
isinstance(_node.value.func, ast.Name) and _node.value.func.id == "QFontMetrics"
)
):
sys.stderr.write(
f"{filename}:{_node.lineno}:{_node.col_offset} WARNING: QFontMetrics.width() "
"has been removed in Qt6. Use QFontMetrics.horizontalAdvance() if plugin can "
"safely require Qt >= 5.11, or QFontMetrics.boundingRect().width() otherwise.\n"
)
def visit_subscript(_node: ast.Subscript, _parent):
if isinstance(_node.value, ast.Attribute):
if (
_node.value.attr == "activated"
and isinstance(_node.slice, ast.Name)
and _node.slice.id == "str"
):
sys.stderr.write(
f"{filename}:{_node.lineno}:{_node.col_offset} WARNING: activated[str] "
"has been removed in Qt6. Consider using QComboBox.activated instead if the string is not required, "
"or QComboBox.textActivated if the plugin can "
"safely require Qt >= 5.14. Otherwise conditional Qt version code will need to be introduced.\n"
)
def visit_import(_node: ast.ImportFrom, _parent):
import_offsets[Offset(node.lineno, node.col_offset)] = (
node.module,
set(name.name for name in node.names),
node.end_lineno,
node.end_col_offset,
)
imported_modules.add(node.module)
for name in node.names:
if name.name in import_warnings:
print(f"{filename}: {import_warnings[name.name]}")
if name.name == "resources_rc":
sys.stderr.write(
f"{filename}:{_node.lineno}:{_node.col_offset} WARNING: support for compiled resources "
"is removed in Qt6. Directly load icon resources by file path and load UI fields using "
"uic.loadUiType by file path instead.\n"
)
if _node.module == "qgis.PyQt.Qt":
extra_imports["qgis.PyQt.QtCore"].update({"Qt"})
removed_imports["qgis.PyQt.Qt"].update({"Qt"})
tree = ast.parse(contents, filename=filename)
for parent in ast.walk(tree):
for node in ast.iter_child_nodes(parent):
if isinstance(node, ast.ImportFrom):
visit_import(node, parent)
if (
not qgis3_compat
and isinstance(node, ast.Attribute)
and isinstance(node.value, ast.Name)
and node.value.id == "QVariant"
):
fix_qvariant_type.append(Offset(node.lineno, node.col_offset))
if isinstance(node, ast.Call):
visit_call(node, parent)
elif isinstance(node, ast.Attribute):
visit_attribute(node, parent)
elif isinstance(node, ast.Subscript):
visit_subscript(node, parent)
elif isinstance(node, ast.Assign):
visit_assign(node, parent)
if isinstance(node, ast.FunctionDef) and node.name in rename_function_definitions:
function_def_renames[Offset(node.lineno, node.col_offset)] = (
rename_function_definitions[node.name]
)
if (
isinstance(node, ast.Attribute)
and isinstance(node.value, ast.Name)
and (node.value.id, node.attr) in ambiguous_enums
):
disambiguated = False
try:
actual = eval(f"{node.value.id}.{node.attr}")
obj = globals()[node.value.id]
if isinstance(obj, type):
for attr_name in dir(obj):
attr = getattr(obj, attr_name)
if attr is actual.__class__:
# print(f'Found alias {node.value.id}.{attr_name}')
disambiguated = True
fix_qt_enums[Offset(node.lineno, node.col_offset)] = (
node.value.id,
attr_name,
node.attr,
)
break
except AttributeError:
pass
if not disambiguated:
possible_values = [
f"{node.value.id}.{e}.{node.attr}"
for e in ambiguous_enums[(node.value.id, node.attr)]
]
sys.stderr.write(
f'{filename}:{node.lineno}:{node.col_offset} WARNING: ambiguous enum, cannot fix: {node.value.id}.{node.attr}. Could be: {", ".join(possible_values)}\n'
)
elif (
isinstance(node, ast.Attribute)
and isinstance(node.value, ast.Name)
and not isinstance(parent, ast.Attribute)
and (node.value.id, node.attr) in qt_enums
):
fix_qt_enums[Offset(node.lineno, node.col_offset)] = (
node.value.id,
qt_enums[(node.value.id, node.attr)],
node.attr,
)
if (
isinstance(node, ast.Attribute)
and isinstance(node.value, ast.Name)
and (node.value.id, node.attr) in deprecated_renamed_enums
):
rename_qt_enums.append(Offset(node.lineno, node.col_offset))
elif (
isinstance(node, ast.ImportFrom)
and node.module
and node.module.startswith("PyQt5.")
):
fix_pyqt_import.append(Offset(node.lineno, node.col_offset))
for module, classes in extra_imports.items():
if module not in imported_modules:
class_import = ", ".join(classes)
import_statement = f"from {module} import {class_import}"
print(f"{filename}: Missing import, manually add \n\t{import_statement}")
if not any(
[
fix_qvariant_type,
fix_pyqt_import,
fix_qt_enums,
rename_qt_enums,
member_renames,
function_def_renames,
custom_updates,
extra_imports,
removed_imports,
token_renames,
]
):
return 0
tokens = src_to_tokens(contents)
for i, token in reversed_enumerate(tokens):
if token.offset in import_offsets:
end_import_offset = Offset(*import_offsets[token.offset][-2:])
del import_offsets[token.offset]
assert tokens[i].src == "from"
token_index = i + 1
while not tokens[token_index].src.strip():
token_index += 1
module = ""
while tokens[token_index].src.strip():
module += tokens[token_index].src
token_index += 1
if extra_imports.get(module) or removed_imports.get(module):
current_imports = set()
while True:
token_index += 1
if tokens[token_index].offset == end_import_offset:
break
if tokens[token_index].src.strip() in ("", ",", "import", "(", ")"):
continue
import_ = tokens[token_index].src
if import_ in removed_imports.get(module, set()):
tokens[token_index] = tokens[token_index]._replace(src="")
prev_token_index = token_index - 1
while True:
if tokens[prev_token_index].src.strip() in ("", ","):
tokens[prev_token_index] = tokens[prev_token_index]._replace(src="")
prev_token_index -= 1
else:
break
none_forward = True
current_index = prev_token_index + 1
while True:
if tokens[current_index].src in ("\n", ")"):
break
elif tokens[current_index].src.strip():
none_forward = False
break
current_index += 1
none_backward = True
current_index = prev_token_index
while True:
if tokens[current_index].src in ("import",):
break
elif tokens[current_index].src.strip():
none_backward = False
break
current_index -= 1
if none_backward and none_forward:
# no more imports from this module, remove whole import
while True:
if tokens[current_index].src in ("from",):
break
current_index -= 1
while True:
if tokens[current_index].src in ("\n",):
tokens[current_index] = tokens[current_index]._replace(src="")
break
tokens[current_index] = tokens[current_index]._replace(src="")
current_index += 1
else:
current_imports.add(import_)
imports_to_add = extra_imports.get(module, set()) - current_imports
if imports_to_add:
additional_import_string = ", ".join(imports_to_add)
if tokens[token_index - 1].src == ")":
token_index -= 1
while tokens[token_index].src.strip() in ("", ",", ")"):
tokens[token_index] = tokens[token_index]._replace(src="")
token_index -= 1
tokens[token_index + 1] = tokens[token_index + 1]._replace(
src=f", {additional_import_string})"
)
else:
tokens[token_index] = tokens[token_index]._replace(
src=f", {additional_import_string}{tokens[token_index].src}"
)
if token.offset in fix_qvariant_type:
assert tokens[i].src == "QVariant"
assert tokens[i + 1].src == "."
tokens[i] = tokens[i]._replace(src="QMetaType.Type")
attr = tokens[i + 2].src
if attr in qmetatype_mapping:
tokens[i + 2] = tokens[i + 2]._replace(src=qmetatype_mapping[attr])
if token.offset in custom_updates:
custom_updates[token.offset](i, tokens)
if token.offset in fix_pyqt_import:
assert tokens[i + 2].src == "PyQt5"
tokens[i + 2] = tokens[i + 2]._replace(src="qgis.PyQt")
if token.offset in function_def_renames and tokens[i].src == "def":
tokens[i + 2] = tokens[i + 2]._replace(src=function_def_renames[token.offset])
if token.offset in token_renames:
tokens[i] = tokens[i]._replace(src=token_renames[token.offset])
if token.offset in member_renames:
counter = i
while tokens[counter].src != ".":
counter += 1
tokens[counter + 1] = tokens[counter + 1]._replace(src=member_renames[token.offset])
if token.offset in fix_qt_enums:
assert tokens[i + 1].src == "."
_class, enum_name, value = fix_qt_enums[token.offset]
# make sure we CAN import enum!
try:
eval(f"{_class}.{enum_name}.{value}")
tokens[i + 2] = tokens[i + 2]._replace(src=f"{enum_name}.{tokens[i + 2].src}")
except AttributeError:
# let's see if we can find what the replacement should be automatically...
# print(f'Trying to find {_class}.{value}.')
actual = eval(f"{_class}.{value}")
# print(f'Trying to find aliases for {actual.__class__}.')
obj = globals()[_class]
recovered = False
if isinstance(obj, type):
for attr_name in dir(obj):
try:
attr = getattr(obj, attr_name)
if attr is actual.__class__:
# print(f'Found alias {_class}.{attr_name}')
recovered = True
tokens[i + 2] = tokens[i + 2]._replace(
src=f"{attr_name}.{tokens[i + 2].src}"
)
except AttributeError:
continue
if not recovered:
sys.stderr.write(
f"{filename}:{token.line}:{token.utf8_byte_offset} ERROR: wanted to replace with {_class}.{enum_name}.{value}, but does not exist\n"
)
continue
if token.offset in rename_qt_enums:
assert tokens[i + 1].src == "."
enum_name = deprecated_renamed_enums[(tokens[i].src, tokens[i + 2].src)]
assert enum_name
tokens[i + 2] = tokens[i + 2]._replace(src=f"{enum_name[0]}.{enum_name[1]}")
new_contents = tokens_to_src(tokens)
with open(filename, "w") as f:
f.write(new_contents)
return new_contents != contents
def get_class_enums(item, depth): # @troopa81: add depth arg
if not inspect.isclass(item):
return
if depth >= 5: # @troopa81: return to avoid python error
return
# enums might be referenced using a subclass instead of their
# parent class, so we need to loop through all those too...
def all_subclasses(cls):
if cls is object:
return set()
return {cls}.union(s for c in cls.__subclasses__() for s in all_subclasses(c))
matched_classes = {item}.union(all_subclasses(item))
for key, value in item.__dict__.items():
if inspect.isclass(value) and type(value).__name__ == "EnumType":
for ekey, evalue in value.__dict__.items():
for matched_class in matched_classes:
if isinstance(evalue, value):
try:
test_value = getattr(item, str(ekey))
if not issubclass(type(test_value), Enum):
# There's a naming clash between an enum value (Eg QgsAggregateMappingModel.ColumnDataIndex.Aggregate)
# and a class (QgsAggregateMappingModel.Aggregate)
# So don't do any upgrades for these values, as current code will always be referring
# to the CLASS
continue
except AttributeError:
pass
if (matched_class.__name__, ekey) in ambiguous_enums:
if (
value.__name__
not in ambiguous_enums[(matched_class.__name__, ekey)]
):
ambiguous_enums[(matched_class.__name__, ekey)].add(value.__name__)
continue
existing_entry = qt_enums.get((matched_class.__name__, ekey))
if existing_entry != value.__name__ and existing_entry:
ambiguous_enums[(matched_class.__name__, ekey)].add(existing_entry)
ambiguous_enums[(matched_class.__name__, ekey)].add(value.__name__)
del qt_enums[(matched_class.__name__, ekey)]
else:
qt_enums[(matched_class.__name__, ekey)] = f"{value.__name__}"
elif inspect.isclass(value):
# @troopa81: depth counter
depth += 1
get_class_enums(value, depth)
def main(argv: Sequence[str] | None = None) -> int:
parser = argparse.ArgumentParser()
parser.add_argument("directory")
parser.add_argument(
"--qgis3-incompatible-changes",
action="store_true",
help="Apply modifications that would break behavior on QGIS 3, hence code may not work on QGIS 3",
)
args = parser.parse_args(argv)
# get all scope for all qt enum
for module in target_modules:
for key, value in module.__dict__.items():
# @troopa81: depth counter init + print value
depth = 0
print(f"Get enums for {value}")
get_class_enums(value, depth)
ret = 0
for filename in glob.glob(os.path.join(args.directory, "**/*.py"), recursive=True):
print(f"Processing {filename}")
if "auto_additions" in filename:
continue
ret |= fix_file(filename, not args.qgis3_incompatible_changes)
return ret
if __name__ == "__main__":
raise SystemExit(main()) Script executed from VSCode on Windows in a powershell terminal and venv: C:\OSGeo4W\bin\python-qgis.bat -m venv --system-site-packages .venv
C:\OSGeo4W\bin\python-qgis.bat -c "import pathlib;import qgis;print(str((pathlib.Path(qgis.__file__)/'../..').resolve()))" > .venv\qgis.pth .venv\Lib\site-packages\sitecustomize.py import os
os.add_dll_directory("C:/OSGeo4W/bin")
os.add_dll_directory("C:/OSGeo4W/apps/qgis/bin")
os.add_dll_directory("C:/OSGeo4W/apps/Qt5/bin") .venv\pyvenv.cfg home = C:\OSGeo4W\apps\Python312
include-system-site-packages = true
version = 3.12.6
executable = C:\OSGeo4W\apps\Python312\python.exe
command = C:\OSGeo4W\apps\Python312\python.exe -m venv --system-site-packages D:\_QGIS\PLUGINS\isl_box\.venv |
@troopa81 I found something When it reaches module qgis.core: Get enums for <class 'qgis._core.Qgis'>
dict_items([('__module__', 'qgis._core'), [...], ('AnnotationItemFlags', <class 'qgis._core.Qgis.AnnotationItemFlags'>), [...]} qgis._core.Qgis has an item which is a class so dict_items([('__module__', 'qgis._core'), ('__hash__', <slot wrapper '__hash__' of 'AnnotationItemFlags' objects>), ('__lt__', <slot wrapper '__lt__' of 'AnnotationItemFlags' objects>), ('__le__', <slot wrapper '__le__' of 'AnnotationItemFlags' objects>), ('__eq__', <slot wrapper '__eq__' of 'AnnotationItemFlags' objects>), ('__ne__', <slot wrapper '__ne__' of 'AnnotationItemFlags' objects>), ('__gt__', <slot wrapper '__gt__' of 'AnnotationItemFlags' objects>), ('__ge__', <slot wrapper '__ge__' of 'AnnotationItemFlags' objects>), ('__bool__', <slot wrapper '__bool__' of 'AnnotationItemFlags' objects>), ('__invert__', <slot wrapper '__invert__' of 'AnnotationItemFlags' objects>), ('__and__', <slot wrapper '__and__' of 'AnnotationItemFlags' objects>), ('__rand__', <slot wrapper '__rand__' of 'AnnotationItemFlags' objects>), ('__xor__', <slot wrapper '__xor__' of 'AnnotationItemFlags' objects>), ('__rxor__', <slot wrapper '__rxor__' of 'AnnotationItemFlags' objects>), ('__or__', <slot wrapper '__or__' of 'AnnotationItemFlags' objects>), ('__ror__', <slot wrapper '__ror__' of 'AnnotationItemFlags' objects>), ('__int__', <slot wrapper '__int__' of 'AnnotationItemFlags' objects>), ('__iand__', <slot wrapper '__iand__' of 'AnnotationItemFlags' objects>), ('__ixor__', <slot wrapper '__ixor__' of 'AnnotationItemFlags' objects>), ('__ior__', <slot wrapper '__ior__' of 'AnnotationItemFlags' objects>), ('__index__', <slot wrapper '__index__' of 'AnnotationItemFlags' objects>), ('__weakref__', <attribute '__weakref__' of 'AnnotationItemFlags' objects>), ('__doc__', 'Qgis.AnnotationItemFlags()\nQgis.AnnotationItemFlags(f: Union[Qgis.AnnotationItemFlags, Qgis.AnnotationItemFlag])\nQgis.AnnotationItemFlags(a0: Qgis.AnnotationItemFlags)'), ('baseClass', <class 'qgis._core.Qgis'>)]) Removing useless items dict_items([('__module__', 'qgis._core'),[...], ('baseClass', <class 'qgis._core.Qgis'>)]) Found a class ! I added a condition in the loop if key == "baseClass":
continue And no more recursive error |
baseClass is an attribute added by sipify script Fixes qgis#58659
@nicogodet Your proposition was the good one, we add baseClass item in sipify script mainly because we need it later so we need to avoid looping on it. |
baseClass is an attribute added by sipify script Fixes #58659
What is the bug or the crash?
The script for conversion of Qt5 Python code to Qt6 always fails for me with
Steps to reproduce the issue
foo
python pyqt5_to_pyqt6.py foo
This happens the same, if a proper directory full of Python files is specified or an empty directory.
Versions
<style type="text/css"> p, li { white-space: pre-wrap; } </style>Active Python plugins
plugin_reloader
0.11
spatial_filter_qt6
1.6
MetaSearch
0.3.6
db_manager
0.1.20
grassprovider
2.12.99
processing
2.12.99
Supported QGIS version
New profile
Additional context
I made the recursive call to
get_class_enums()
halt if it went to a depth of more than 2-3, and collect the items on which it went this far, I get:The text was updated successfully, but these errors were encountered: