You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

111 lines
4.8 KiB
Python

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'newbuild.ui'
#
# Created by: PyQt5 UI code generator 5.13.0
#
# WARNING! All changes made in this file will be lost!
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QApplication, QWidget, QMessageBox
from utils.InitDb import initDatabase, createConfig
from utils.InitDb import connectDb, judgeProjectPath
from DcsUi.Login import LoginUI
import os
class Ui_NewBuild(QtWidgets.QDialog):
def __init__(self, parent = None):
super(Ui_NewBuild, self).__init__()
# 主窗口是否已经运行
self.mainIsWorking = None
self.parent = parent
self.setupUi()
def setupUi(self):
self.setObjectName("新建工程")
self.resize(540, 221)
self.toolButton = QtWidgets.QToolButton(self)
self.toolButton.setGeometry(QtCore.QRect(490, 110, 47, 31))
self.toolButton.setObjectName("toolButton")
self.toolButton.clicked.connect(self.chooseDir)
self.pushButton_2 = QtWidgets.QPushButton(self)
self.pushButton_2.setGeometry(QtCore.QRect(20, 160, 93, 41))
self.pushButton_2.setObjectName("pushButton_2")
self.pushButton_2.clicked.connect(self.close)
self.pushButton_3 = QtWidgets.QPushButton(self)
self.pushButton_3.setGeometry(QtCore.QRect(430, 160, 93, 41))
self.pushButton_3.setObjectName("pushButton_3")
self.pushButton_3.clicked.connect(self.createProject)
self.lineEdit = QtWidgets.QLineEdit(self)
self.lineEdit.setGeometry(QtCore.QRect(130, 40, 351, 31))
self.lineEdit.setText('我的工程')
self.lineEdit.setObjectName("lineEdit")
self.lineEdit_2 = QtWidgets.QLineEdit(self)
self.lineEdit_2.setGeometry(QtCore.QRect(130, 110, 351, 31))
self.lineEdit_2.setObjectName("lineEdit_2")
self.label = QtWidgets.QLabel(self)
self.label.setGeometry(QtCore.QRect(1, 39, 101, 31))
self.label.setObjectName("label")
self.label_2 = QtWidgets.QLabel(self)
self.label_2.setGeometry(QtCore.QRect(1, 109, 121, 31))
self.label_2.setObjectName("label_2")
self.retranslateUi()
QtCore.QMetaObject.connectSlotsByName(self)
def retranslateUi(self):
_translate = QtCore.QCoreApplication.translate
self.setWindowTitle(_translate("NewBuild", "创建工程"))
self.toolButton.setText(_translate("NewBuild", "..."))
self.pushButton_2.setText(_translate("NewBuild", "关闭"))
self.pushButton_3.setText(_translate("NewBuild", "保存"))
self.label.setText(_translate("NewBuild", "请输入工程名:"))
self.label_2.setText(_translate("NewBuild", "请选择工程路径:"))
def chooseDir(self):
self.dirPath = QtWidgets.QFileDialog.getExistingDirectory(self,'选择文件夹','./')
self.lineEdit_2.setText(self.dirPath)
def createProject(self):
self.projectPath = self.lineEdit_2.text()
self.projectName = self.lineEdit.text()
if self.projectPath and self.projectName:
if not os.listdir(self.projectPath):
self.dbPath = os.path.join(self.projectPath, '.resources', 'dcs.db')
createConfig(self.projectPath, self.projectName)
initDatabase(self.dbPath)
if not self.mainIsWorking:
self.loginUi = LoginUI()
self.loginUi.projectPath = self.projectPath
self.loginUi.projectName = self.projectName
self.loginUi.show()
self.close()
else:
connectDb(self.projectPath)
self.parent.projectName = self.projectName
self.parent.dockTop.setWidget(QWidget())
self.parent.dockLeft.refreshTree()
self.parent.dockBottom.logBrowser.clear()
self.close()
else:
reply = QtWidgets.QMessageBox.question(self, '提示', '请选择空文件夹!', QMessageBox.Yes)
else:
reply = QtWidgets.QMessageBox.question(self, '提示', '工程名或路径不可为空!', QMessageBox.Yes)
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv) # 创建一个QApplication也就是你要开发的软件app
MainWindow = QtWidgets.QMainWindow() # 创建一个QMainWindow用来装载你需要的各种组件、控件
ui = Ui_NewBuild() # ui是Ui_MainWindow()类的实例化对象
ui.setupUi(MainWindow) # 执行类中的setupUi方法方法的参数是第二步中创建的QMainWindow
MainWindow.show() # 执行QMainWindow的show()方法显示这个QMainWindow
sys.exit(app.exec_())