aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCristián Maureira-Fredes <cristian.maureira-fredes@qt.io>2019-06-27 15:22:01 +0200
committerCristian Maureira-Fredes <cristian.maureira-fredes@qt.io>2019-06-27 15:06:31 +0000
commita2405a27e738e7a7bb379ed0ada07b317650ca09 (patch)
treeb7768a567e85f58994488c759a2ec27b3629985e
parent72104d1cb6a1ea5b3c529532f2ad7491d26a89a9 (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.py16
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)))