eric6/Project/CreateDialogCodeDialog.py

changeset 7907
7991ea245c20
parent 7836
2f0d208b8137
child 7911
4621c9082a43
diff -r 0af028b93cb3 -r 7991ea245c20 eric6/Project/CreateDialogCodeDialog.py
--- a/eric6/Project/CreateDialogCodeDialog.py	Mon Dec 21 13:36:24 2020 +0100
+++ b/eric6/Project/CreateDialogCodeDialog.py	Tue Dec 22 19:59:29 2020 +0100
@@ -27,6 +27,8 @@
 
 from eric6config import getConfig
 
+import Preferences
+
 
 pyqtSignatureRole = Qt.UserRole + 1
 pythonSignatureRole = Qt.UserRole + 2
@@ -159,8 +161,16 @@
         @return tuple of process output and error flag
         @rtype tuple of (str, bool)
         """
+        venvManager = e5App().getObject("VirtualEnvManager")
+        projectType = self.project.getProjectType()
+        
         venvName = self.project.getDebugProperty("VIRTUALENV")
-        venvManager = e5App().getObject("VirtualEnvManager")
+        if not venvName:
+            # no project specific environment, try a type specific one
+            if projectType in ("PyQt5", "E6Plugin", "PySide2"):
+                venvName = Preferences.getQt("PyQtVenvName")
+            elif projectType in ("PyQt6", ):
+                venvName = Preferences.getQt("PyQt6VenvName")
         interpreter = venvManager.getVirtualenvInterpreter(venvName)
         execPath = venvManager.getVirtualenvExecPath(venvName)
         
@@ -176,7 +186,10 @@
             else:
                 env.insert("PATH", execPath)
         
-        loadUi = os.path.join(os.path.dirname(__file__), "UicLoadUi.py")
+        if projectType in ("PyQt5", "E6Plugin", "PySide2"):
+            loadUi = os.path.join(os.path.dirname(__file__), "UicLoadUi5.py")
+        elif projectType in ("PyQt6", ):
+            loadUi = os.path.join(os.path.dirname(__file__), "UicLoadUi6.py")
         args = [
             loadUi,
             command,
@@ -412,6 +425,10 @@
                     tmplName = os.path.join(
                         getConfig('ericCodeTemplatesDir'),
                         "impl_pyqt5.py.tmpl")
+                elif self.project.getProjectType() == "PyQt6":
+                    tmplName = os.path.join(
+                        getConfig('ericCodeTemplatesDir'),
+                        "impl_pyqt6.py.tmpl")
                 else:
                     E5MessageBox.critical(
                         self,

eric ide

mercurial