Project/CreateDialogCodeDialog.py

changeset 6544
51996454f89f
parent 6291
94e0e688dcad
child 6547
77c817301ca1
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)
             

eric ide

mercurial