--- 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,