diff options
-rw-r--r-- | pyside2uic/Compiler/qobjectcreator.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/pyside2uic/Compiler/qobjectcreator.py b/pyside2uic/Compiler/qobjectcreator.py index 296ac36..0e35e47 100644 --- a/pyside2uic/Compiler/qobjectcreator.py +++ b/pyside2uic/Compiler/qobjectcreator.py @@ -89,6 +89,18 @@ class _CustomWidgetLoader(object): def __init__(self): self._widgets = {} self._usedWidgets = set() + self.pyside2_modules = ("Qt3DAnimation", "Qt3DCore", "Qt3DExtras", "Qt3DInput", + "Qt3DLogic", "Qt3DRender", "QtAxContainer", "QtCharts", "QtConcurrent", + "QtCore", "QtDataVisualization", "QtGui", "QtHelp", "QtLocation", + "QtMacExtras", "QtMultimedia", "QtMultimediaWidgets", "QtNetwork", + "QtOpenGL", "QtOpenGLFunctions", "QtPositioning", "QtPrintSupport", + "QtQml", "QtQuick", "QtQuickWidgets", "QtRemoteObjects", "QtScript", + "QtScriptTools", "QtScxml", "QtSensors", "QtSql", "QtSvg", "QtTest", + "QtTextToSpeech", "QtUiTools", "QtWebChannel", "QtWebEngine", + "QtWebEngineCore", "QtWebEngineWidgets", "QtWebKit", "QtWebKitWidgets", + "QtWebSockets", "QtWidgets", "QtWinExtras", "QtX11Extras", "QtXml", + "QtXmlPatterns") + def addCustomWidget(self, widgetClass, baseClass, module): assert widgetClass not in self._widgets @@ -128,6 +140,10 @@ class _CustomWidgetLoader(object): imports.setdefault(module, []).append(widget) for module, classes in imports.items(): + split = module.split(".") + if (len(split) == 2 and not split[0].startswith("PySide2") + and split[0] in self.pyside2_modules): + module = "PySide2.{}".format(split[0]) write_code("from %s import %s" % (module, ", ".join(classes))) |