--- a/eric6/Project/CreateDialogCodeDialog.py Sun Jan 17 13:53:08 2021 +0100 +++ b/eric6/Project/CreateDialogCodeDialog.py Mon Feb 01 10:38:16 2021 +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", "PySide6"): + 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", "PySide6"): + loadUi = os.path.join(os.path.dirname(__file__), "UicLoadUi6.py") args = [ loadUi, command, @@ -407,11 +420,19 @@ tmplName = os.path.join( getConfig('ericCodeTemplatesDir'), "impl_pyside2.py.tmpl") + elif self.project.getProjectType() == "PySide6": + tmplName = os.path.join( + getConfig('ericCodeTemplatesDir'), + "impl_pyside6.py.tmpl") elif self.project.getProjectType() in [ "PyQt5", "E6Plugin"]: 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, @@ -489,7 +510,7 @@ break # do the coding stuff - if self.project.getProjectType() in ("PySide2",): + if self.project.getProjectType() in ("PySide2", "PySide6"): pyqtSignatureFormat = '@Slot({0})' else: pyqtSignatureFormat = '@pyqtSlot({0})'