diff -r d9f12defd944 -r 51996454f89f Project/CreateDialogCodeDialog.py --- a/Project/CreateDialogCodeDialog.py Sun Oct 07 18:18:13 2018 +0200 +++ b/Project/CreateDialogCodeDialog.py Sat Oct 13 14:08:21 2018 +0200 @@ -10,6 +10,7 @@ from __future__ import unicode_literals import os +import sys import xml.etree.ElementTree from PyQt5.QtCore import QMetaObject, QByteArray, QRegExp, Qt, pyqtSlot, \ @@ -29,6 +30,8 @@ from Globals import qVersionTuple +import Utilities + pyqtSignatureRole = Qt.UserRole + 1 pythonSignatureRole = Qt.UserRole + 2 @@ -142,6 +145,30 @@ """ return self.__initError + def __loadUi(self, formFile, package=""): + """ + Private method to load a form file and instantiate the defined form. + + @param formFile path of the form file to be loaded + @type str + @param package base path to be used for relative imports + @type str + @return instantiated form + @rtype QWidget + """ + oldSysPath = [] + interpreter = self.project.getDebugProperty("INTERPRETER") + if interpreter: + oldSysPath = sys.path[:] + sys.path = oldSysPath + Utilities.getSysPath(interpreter) + + dlg = uic.loadUi(formFile, package=package) + + if oldSysPath: + sys.path = oldSysPath + + return dlg + def __objectName(self): """ Private method to get the object name of the dialog. @@ -149,7 +176,7 @@ @return object name (string) """ try: - dlg = uic.loadUi( + dlg = self.__loadUi( self.formFile, package=self.project.getProjectPath()) return dlg.objectName() except (AttributeError, ImportError, @@ -169,7 +196,7 @@ @return class name (sting) """ try: - dlg = uic.loadUi( + dlg = self.__loadUi( self.formFile, package=self.project.getProjectPath()) return dlg.metaObject().className() except (AttributeError, ImportError, @@ -240,7 +267,7 @@ self.filterEdit.clear() try: - dlg = uic.loadUi( + dlg = self.__loadUi( self.formFile, package=self.project.getProjectPath()) objects = dlg.findChildren(QWidget) + dlg.findChildren(QAction)