import json from PyQt6 import * from PyQt6.QtCore import * from PyQt6.QtGui import * from PyQt6.QtWidgets import * from ui.Ui_createProjectDlg import Ui_createProjectDlg from projectModel.projectManager import projectManager from common import common class CreateProjectDlg(QDialog): createFinished = pyqtSignal() editFinished = pyqtSignal(str) def __init__(self, parent=None): super().__init__(parent) self.ui = Ui_createProjectDlg() self.ui.setupUi(self) self.proId = "" self.ui.pbSave.clicked.connect(self.handleAccept) self.ui.pbCancel.clicked.connect(self.reject) def showCreateDlg(self): self.ui.leName.setText("") self.ui.leRemark.setText("") self.setWindowTitle("创建工程") self.exec() def showEditDlg(self, proId): data = projectManager.getInfo(proId) self.ui.leName.setText(data["name"]) self.ui.leRemark.setText(data["remark"]) self.setWindowTitle("编辑工程") self.proId = proId self.exec() def handleAccept(self): name = self.ui.leName.text() remark = self.ui.leRemark.text() if name == "": QMessageBox.warning(self, "警告", "工程名称不能为空") return if projectManager.isProjectExist(name): QMessageBox.warning(self, "警告", "工程名称已经存在") return if self.windowTitle() == "创建工程": projectManager.create(name, remark) self.createFinished.emit() self.accept() elif self.windowTitle() == "编辑工程": param = { "name": name, "remark": remark } projectManager.update(self.proId, param) self.editFinished.emit(name) self.accept()