diff options
author | Cristián Maureira-Fredes <cristian.maureira-fredes@qt.io> | 2019-06-27 15:22:01 +0200 |
---|---|---|
committer | Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> | 2019-06-27 15:06:31 +0000 |
commit | a2405a27e738e7a7bb379ed0ada07b317650ca09 (patch) | |
tree | b7768a567e85f58994488c759a2ec27b3629985e | |
parent | 72104d1cb6a1ea5b3c529532f2ad7491d26a89a9 (diff) |
Fix classes from modules imports in pyside2-uic
Fixes: PYSIDE-1020
Change-Id: I1694f93a2ceb0685836a42526b3b6b4863f490ca
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
-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))) |