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.

531 lines
26 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 'initproject.ui'
#
# Created by: PyQt5 UI code generator 5.11.3
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
import sys
sys.path.append('../')
from static.Png import *
from DcsUi.CDrawer import CDrawer
from tools.JsonConfig import getProjectList, getProjectName
from utils.InitDb import judgeProjectPath
from utils.AcountModels import User
from mainwindow import MainWindow
from tools.JsonConfig import writeJson, rewriteJson, getProjectPath, getLastUser
from utils.ClientModels import database_proxy
from utils.InitDb import connectDb,judgeProjectPath, initDatabase, createConfig
from peewee import *
import os
import sys
import json
import winreg
def get_desktop():
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER,r'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders')
return winreg.QueryValueEx(key, "Desktop")[0]
# return ''
class DrawerWidget(QtWidgets.QWidget):
def __init__(self, winType = None, projectPath = None, parent = None, *args, **kwargs):
super(DrawerWidget, self).__init__(*args, **kwargs)
self.setAttribute(QtCore.Qt.WA_StyledBackground, True)
self.setStyleSheet('DrawerWidget{background:white;}')
self.projectPath = projectPath
self.winType = winType
self.parent = parent
if self.winType == 'Create':
self.gridLayout = QtWidgets.QGridLayout(self)
self.gridLayout.setContentsMargins(0, 0, 0, 0)
self.gridLayout.setObjectName("gridLayout")
# self.lineEdit_2 = QtWidgets.QLineEdit(self)
self.pathEdit = QtWidgets.QLineEdit(self)
self.nameEdit = QtWidgets.QLineEdit(self)
# self.lineEdit_2.setObjectName("lineEdit_2")
# self.gridLayout.addWidget(self.lineEdit_2, 2, 1, 1, 1)
self.gridLayout.addWidget(self.pathEdit, 4, 1, 1, 1)
self.gridLayout.addWidget(self.nameEdit, 3, 1, 1, 1)
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem, 0, 1, 1, 1)
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem1, 5, 1, 1, 1)
# self.pushButton_2 = QtWidgets.QPushButton(self)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
# sizePolicy.setHeightForWidth(self.pushButton_2.sizePolicy().hasHeightForWidth())
# self.pushButton_2.setSizePolicy(sizePolicy)
# self.pushButton_2.setStyleSheet("background-color:transparent")
# self.pushButton_2.setText("")
icon = QtGui.QIcon()
# icon.addPixmap(QtGui.QPixmap(":/static/createProject.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
# self.pushButton_2.setIcon(icon)
# self.pushButton_2.setObjectName("pushButton_2")
# self.gridLayout.addWidget(self.pushButton_2, 1, 2, 1, 1)
# self.label_2 = QtWidgets.QLabel(self)
# self.label_2.setObjectName("label_2")
# self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1)
self.nameLabel = QtWidgets.QLabel(self)
self.nameLabel.setObjectName("label_3")
self.gridLayout.addWidget(self.nameLabel, 3, 0, 1, 1)
self.pathLabel = QtWidgets.QLabel(self)
self.pathLabel.setObjectName("label_4")
self.gridLayout.addWidget(self.pathLabel, 4, 0, 1, 1)
# self.lineEdit = QtWidgets.QLineEdit(self)
# self.lineEdit.setObjectName("lineEdit")
# self.lineEdit.setText('127.0.0.1')
# self.lineEdit_2.setText('19114')
# self.gridLayout.addWidget(self.lineEdit, 1, 1, 1, 1)
self.label = QtWidgets.QLabel(self)
self.label.setObjectName("label")
self.gridLayout.addWidget(self.label, 1, 0, 1, 1)
self.gridLayout.setColumnStretch(0, 1)
self.gridLayout.setColumnStretch(1, 2)
self.pushButton = QtWidgets.QPushButton()
self.pushButton.setGeometry(QtCore.QRect(50, 100, 93, 28))
self.pushButton.setObjectName("pushButton")
self.pushButton.setStyleSheet("background-color:transparent")
con = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/static/1209037.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.pushButton.setIcon(icon)
self.gridLayout.addWidget(self.pushButton, 4, 2, 1, 1)
# self.pushButton_2.clicked.connect(self.chooseDir)
self.pushButton.clicked.connect(self.createProject)
# self.createProject()
elif self.winType == 'Reopen' or self.winType == 'open':
self.gridLayout = QtWidgets.QGridLayout(self)
self.gridLayout.setContentsMargins(0, 0, 0, 0)
self.gridLayout.setObjectName("gridLayout")
self.lineEdit_2 = QtWidgets.QLineEdit(self)
self.lineEdit_2.setObjectName("lineEdit_2")
self.gridLayout.addWidget(self.lineEdit_2, 2, 1, 1, 1)
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem, 0, 1, 1, 1)
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem1, 5, 1, 1, 1)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
icon = QtGui.QIcon()
self.label_2 = QtWidgets.QLabel(self)
self.label_2.setObjectName("label_2")
self.gridLayout.addWidget(self.label_2, 2, 0, 1, 1)
self.nameLabel = QtWidgets.QLabel(self)
self.nameLabel.setObjectName("label_3")
self.gridLayout.addWidget(self.nameLabel, 3, 0, 1, 1)
self.pathLabel = QtWidgets.QLabel(self)
self.pathLabel.setObjectName("label_4")
self.gridLayout.addWidget(self.pathLabel, 4, 0, 1, 1)
self.lineEdit = QtWidgets.QLineEdit(self)
self.lineEdit.setObjectName("lineEdit")
self.lineEdit.setText('127.0.0.1')
self.lineEdit_2.setText('19114')
self.gridLayout.addWidget(self.lineEdit, 1, 1, 1, 1)
self.label = QtWidgets.QLabel(self)
self.label.setObjectName("label")
self.gridLayout.addWidget(self.label, 1, 0, 1, 1)
self.gridLayout.setColumnStretch(0, 1)
self.gridLayout.setColumnStretch(1, 2)
self.pushButton = QtWidgets.QPushButton()
self.pushButton.setGeometry(QtCore.QRect(50, 100, 93, 28))
self.pushButton.setObjectName("pushButton")
self.pushButton.setStyleSheet("background-color:transparent")
con = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/static/1209037.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.pushButton.setIcon(icon)
self.gridLayout.addWidget(self.pushButton, 2, 2, 1, 1)
if self.winType == 'Reopen':
self.pushButton.clicked.connect(self.reOpenProject)
else:
self.pushButton.clicked.connect(self.openProject)
else:
self.gridLayout = QtWidgets.QGridLayout(self)
self.gridLayout.setContentsMargins(1, 0, 0, 0)
self.gridLayout.setObjectName("gridLayout")
self.pwdIcon = QtWidgets.QLabel(self)
self.pwdIcon.setMaximumSize(QtCore.QSize(31, 31))
self.pwdIcon.setText("")
self.pwdIcon.setPixmap(QtGui.QPixmap(":/static/password.png"))
self.pwdIcon.setScaledContents(True)
self.pwdIcon.setObjectName("pwdIcon")
self.gridLayout.addWidget(self.pwdIcon, 3, 1, 1, 1)
self.userEdit = QtWidgets.QLineEdit()
self.userEdit.setMinimumSize(QtCore.QSize(181, 31))
self.userEdit.setObjectName("userEdit")
self.gridLayout.addWidget(self.userEdit, 2, 2, 1, 1)
self.userIcon = QtWidgets.QLabel()
self.userIcon.setMaximumSize(QtCore.QSize(31, 31))
self.userIcon.setText("2")
self.userIcon.setPixmap(QtGui.QPixmap(":/static/user.png"))
self.userIcon.setScaledContents(True)
self.userIcon.setObjectName("userIcon")
self.gridLayout.addWidget(self.userIcon, 2, 1, 1, 1)
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem, 0, 2, 1, 1)
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem1, 1, 2, 1, 1)
self.loginButton = QtWidgets.QPushButton()
self.loginButton.setMinimumSize(QtCore.QSize(0, 31))
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/static/login.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.loginButton.setIcon(icon)
self.loginButton.setObjectName("loginButton")
self.loginButton.clicked.connect(self.login)
self.gridLayout.addWidget(self.loginButton, 5, 1, 1, 2)
spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem2, 6, 2, 1, 1)
self.pwdEdit = QtWidgets.QLineEdit()
self.pwdEdit.setMinimumSize(QtCore.QSize(181, 31))
self.pwdEdit.setObjectName("pwdEdit")
self.pwdEdit.setEchoMode(QtWidgets.QLineEdit.Password)
self.gridLayout.addWidget(self.pwdEdit, 3, 2, 1, 1)
spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem3, 4, 2, 1, 1)
spacerItem4 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem4, 7, 2, 1, 1)
self.retranslateUi(self)
QtCore.QMetaObject.connectSlotsByName(self)
def retranslateUi(self, Form):
if self.winType == 'Create':
_translate = QtCore.QCoreApplication.translate
# self.label_2.setText(_translate("Form", "端口号:"))
self.nameLabel.setText(_translate("Form", "工程名:"))
self.pathLabel.setText(_translate("Form", "路径:"))
# self.label.setText(_translate("Form", "地址:"))
self.pushButton.setText(_translate("Form", ""))
elif self.winType == 'Reopen' or self.winType == 'open':
_translate = QtCore.QCoreApplication.translate
self.label_2.setText(_translate("Form", "端口号:"))
self.label.setText(_translate("Form", "地址:"))
else:
self.loginButton.setText("登录")
def login(self):
if self.projectPath:
dbPath = os.path.join(self.projectPath, '.resources', 'dcs.db')
db = SqliteDatabase(dbPath)
database_proxy.initialize(db)
db.connect()
if not User.get_user_by_username('admin'):
User.create_user('admin', 'admin')
self.user = self.userEdit.text()
self.password = self.pwdEdit.text()
if User.password_valid(self.password) and User.username_valid(self.user):
user = User.get_or_none(User.username == self.user)
if user:
if user.verify_password(self.password):
rewriteJson(self.user)
# if not hasattr(self, 'createDrawer'):
# openCDrader = DrawerWidget(winType = 'open', parent = self.parent)
# openCDrader.projectPath = self.projectPath
# openCDrader.pushButton.clicked.connect(openCDrader.openProject)
# self.parent.createDrawer = CDrawer(self, widget=openCDrader)
# self.parent.createDrawer.user = self.user
# self.parent.createDrawer.setDirection(CDrawer.RIGHT)
# self.parent.createDrawer.setWindowModality(QtCore.Qt.ApplicationModal)
# self.parent.createDrawer.show()
# self.close()
self.showMainwindow()
self.close()
else:
reply = QtWidgets.QMessageBox.question(self, '提示', '账户或密码错误!', QtWidgets.QMessageBox.Yes)
else:
reply = QtWidgets.QMessageBox.question(self, '提示', '用户不存在!', QtWidgets.QMessageBox.Yes)
else:
reply = QtWidgets.QMessageBox.question(self, '提示', '账户或密码错误!', QtWidgets.QMessageBox.Yes)
def showMainwindow(self):
self.MainWindow = MainWindow()
self.MainWindow.projectName = getProjectName(self.projectPath)
self.MainWindow.projectPath = self.projectPath
self.MainWindow.user = self.user
# self.MainWindow.uri = uri
self.MainWindow.initUI()
self.MainWindow.show()
self.parent.close()
writeJson(self.projectPath)
# def chooseDir(self):
# self.dirPath = QtWidgets.QFileDialog.getExistingDirectory(self,'选择文件夹','./')
# self.lineEdit.setText(self.dirPath)
# self.show()
def createProject(self):
# self.ip = self.lineEdit.text()
# self.port = self.lineEdit_2.text()
self.projectPath = self.pathEdit.text()
self.name = self.nameEdit.text()
try:
if not self.user:
self.user = 'admin'
except:
self.user = 'admin'
if self.projectPath and self.name:
# if self.ip and self.port:
# if not os.listdir(self.projectPath):
# self.dbPath = os.path.join(self.projectPath, '.resources', 'dcs.db')
# createConfig(self.projectPath, self.projectName)
# initDatabase(self.dbPath)
# self.showMainwindow()
# self.parent.close()
# else:
# reply = QtWidgets.QMessageBox.question(self, '提示', '输入地址!', QtWidgets.QMessageBox.Yes)
# self.projectPath = os.path.join(get_desktop(),'demo')
# if not os.path.exists(self.projectPath):
# os.makedirs(self.projectPath)
# else:
# self.showMainwindow(self.ip + ':' + self.port)
# self.parent.close()
self.dbPath = os.path.join(self.projectPath, '.resources', 'dcs.db')
createConfig(self.projectPath, self.name)
initDatabase(self.dbPath)
self.showMainwindow()
self.parent.close()
# else:
# reply = QtWidgets.QMessageBox.question(self, '提示', '请输入正确的地址!', QtWidgets.QMessageBox.Yes)
else:
reply = QtWidgets.QMessageBox.question(self, '提示', '工程名或路径不可为空!', QtWidgets.QMessageBox.Yes)
def reOpenProject(self):
self.projectPath = getProjectPath()
self.ip = self.lineEdit.text()
self.port = self.lineEdit_2.text()
self.user = getLastUser()
self.showMainwindow()
self.parent.close()
def openProject(self):
# self.projectPath = getProjectPath()
self.ip = self.lineEdit.text()
self.port = self.lineEdit_2.text()
self.user = getLastUser()
self.showMainwindow()
self.parent.close()
class Ui_InitProject(QtWidgets.QDialog):
def __init__(self):
super(Ui_InitProject, self).__init__()
self.setupUi()
def setupUi(self):
self.setWindowFlags(QtCore.Qt.CustomizeWindowHint | QtCore.Qt.WindowCloseButtonHint)
self.setWindowIcon(QtGui.QIcon(':/static/default.png'))
self.setObjectName("InitProject")
self.resize(872, 644)
self.horizontalLayoutWidget = QtWidgets.QWidget(self)
self.horizontalLayoutWidget.setGeometry(QtCore.QRect(-1, -1, 841, 651))
self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget")
self.horizontalLayout = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget)
self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout.setObjectName("horizontalLayout")
# 设置list结构
self.listView = QtWidgets.QListView(self.horizontalLayoutWidget)
self.listView.setObjectName("listView")
self.model = QtCore.QStringListModel()
self.projectList = [getProjectName(x) + '\r\n' + self.getShortPath(x) for x in getProjectList() if getProjectName(x)]
self.projectPathList = [x for x in getProjectList() if getProjectName(x)]
#设置模型列表视图,加载数据列表
self.model.setStringList(self.projectList)
#设置列表视图的模型
self.listView.setModel(self.model)
self.listView.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
self.listView.setFont(QtGui.QFont( "Timers", 10, QtGui.QFont.Bold))
self.listView.setStyleSheet('QListView::item{height:40px;}')
self.listView.doubleClicked.connect(self.listClicked)
# self.listView.setItemAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignVCenter)
self.horizontalLayout.addWidget(self.listView)
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout.addItem(spacerItem)
self.verticalLayout = QtWidgets.QVBoxLayout()
self.verticalLayout.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint)
self.verticalLayout.setObjectName("verticalLayout")
self.logoLabel = QtWidgets.QLabel(self.horizontalLayoutWidget)
self.logoLabel.setText("")
self.logoLabel.setTextFormat(QtCore.Qt.AutoText)
self.logoLabel.setPixmap(QtGui.QPixmap(":/static/icon.png"))
self.logoLabel.setScaledContents(False)
self.logoLabel.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignHCenter)
self.logoLabel.setObjectName("logoLabel")
self.verticalLayout.addWidget(self.logoLabel)
self.titleLabel = QtWidgets.QLabel(self.horizontalLayoutWidget)
font = QtGui.QFont()
font.setFamily("华文细黑")
font.setPointSize(18)
font.setBold(False)
font.setWeight(50)
self.titleLabel.setFont(font)
self.titleLabel.setAlignment(QtCore.Qt.AlignCenter)
self.titleLabel.setObjectName("titleLabel")
self.verticalLayout.addWidget(self.titleLabel)
self.versionLabel = QtWidgets.QLabel(self.horizontalLayoutWidget)
font = QtGui.QFont()
font.setFamily("Mongolian Baiti")
font.setPointSize(14)
font.setBold(False)
font.setWeight(50)
self.versionLabel.setFont(font)
self.versionLabel.setAlignment(QtCore.Qt.AlignCenter)
self.versionLabel.setObjectName("versionLabel")
self.verticalLayout.addWidget(self.versionLabel)
spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout.addItem(spacerItem1)
self.createButton = QtWidgets.QPushButton(self.horizontalLayoutWidget)
font = QtGui.QFont()
font.setFamily("新宋体")
font.setPointSize(12)
self.createButton.setFont(font)
self.createButton.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
self.createButton.setStyleSheet("background-color:transparent")
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/static/createProject.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.createButton.setIcon(icon)
self.createButton.setObjectName("createButton")
self.verticalLayout.addWidget(self.createButton)
self.createButton.clicked.connect(self.createProject)
self.OpenButton = QtWidgets.QPushButton(self.horizontalLayoutWidget)
font = QtGui.QFont()
font.setFamily("新宋体")
font.setPointSize(12)
self.OpenButton.setFont(font)
self.OpenButton.setStyleSheet("background-color:transparent")
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(":/static/openProject.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.OpenButton.setIcon(icon1)
self.OpenButton.setObjectName("OpenButton")
self.verticalLayout.addWidget(self.OpenButton)
self.OpenButton.clicked.connect(self.openProject)
self.reopenButton = QtWidgets.QPushButton(self.horizontalLayoutWidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.reopenButton.sizePolicy().hasHeightForWidth())
self.reopenButton.setSizePolicy(sizePolicy)
self.reopenButton.setFont(font)
self.reopenButton.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
self.reopenButton.setLayoutDirection(QtCore.Qt.LeftToRight)
self.reopenButton.setAutoFillBackground(False)
self.reopenButton.setStyleSheet('background-color:transparent')
icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap(":/static/reOpen.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.reopenButton.setIcon(icon2)
self.reopenButton.setAutoDefault(False)
self.reopenButton.setObjectName("reopenButton")
self.verticalLayout.addWidget(self.reopenButton)
self.reopenButton.clicked.connect(self.reOpen)
spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout.addItem(spacerItem2)
self.verticalLayout.setStretch(0, 1)
self.verticalLayout.setStretch(1, 1)
self.verticalLayout.setStretch(2, 1)
self.verticalLayout.setStretch(3, 1)
self.verticalLayout.setStretch(4, 3)
self.verticalLayout.setStretch(5, 3)
self.verticalLayout.setStretch(7, 1)
self.horizontalLayout.addLayout(self.verticalLayout)
self.horizontalLayout.setStretch(0, 4)
self.horizontalLayout.setStretch(2, 5)
self.retranslateUi()
QtCore.QMetaObject.connectSlotsByName(self)
def retranslateUi(self):
_translate = QtCore.QCoreApplication.translate
self.setWindowTitle(_translate("InitProject", "Dcs自动化测试管理软件"))
self.titleLabel.setText(_translate("InitProject", "DCS自动化测试管理软件"))
self.versionLabel.setText(_translate("InitProject", "Version 2019"))
self.createButton.setText(_translate("InitProject", "新建工程"))
self.OpenButton.setText(_translate("InitProject", "打开工程"))
self.reopenButton.setText(_translate("InitProject", "恢复上次打开的工程"))
def createProject(self):
wid = DrawerWidget(winType = 'Create', parent = self)
self.dirPath = QtWidgets.QFileDialog.getExistingDirectory(self,'选择文件夹','./')
if not hasattr(self, 'createDrawer'):
wid.pathEdit.setText(self.dirPath)
self.createDrawer = CDrawer(self, widget=wid)
self.createDrawer.setDirection(CDrawer.RIGHT)
self.createDrawer.setWindowModality(QtCore.Qt.ApplicationModal)
self.createDrawer.show()
def getShortPath(self, path):
# if 'Desktop' in path:
# return '/'.join(path.split('/')[path.split('/').index('Desktop'):])
# else:
# return path
if path:
return '/'.join([''] + path.split('/')[-2:])
def listClicked(self, qModelIndex):
projectPath = self.projectPathList[qModelIndex.row()]
if judgeProjectPath(projectPath):
if not hasattr(self, 'loginDrawer'):
self.loginDrawer = CDrawer(self, widget=DrawerWidget(winType = 'Login', projectPath = projectPath, parent = self))
self.loginDrawer.setDirection(CDrawer.RIGHT)
self.loginDrawer.setWindowModality(QtCore.Qt.ApplicationModal)
self.loginDrawer.projectPath = projectPath
self.loginDrawer.show()
else:
reply = QtWidgets.QMessageBox.question(self, '提示', '路径已失效!', QtWidgets.QMessageBox.Yes)
def openProject(self):
self.projectPath = QtWidgets.QFileDialog.getExistingDirectory(self,'选择文件夹','./')
if judgeProjectPath(self.projectPath):
if not hasattr(self, 'loginDrawer'):
login = DrawerWidget(winType = 'Login', parent = self)
login.projectPath = self.projectPath
self.loginDrawer = CDrawer(self, widget=login)
self.loginDrawer.setDirection(CDrawer.RIGHT)
else:
self.loginDrawer.projectPath = self.projectPath
self.loginDrawer.show()
self.loginDrawer.setWindowModality(QtCore.Qt.ApplicationModal)
else:
if self.projectPath:
reply = QtWidgets.QMessageBox.question(self, '提示', '请选择正确的路径!', QtWidgets.QMessageBox.Yes)
def reOpen(self):
self.projectPath = getProjectPath()
if judgeProjectPath(self.projectPath):
self.mainWindow = MainWindow()
self.mainWindow.projectPath = self.projectPath
self.mainWindow.user = getLastUser()
self.mainWindow.initUI()
self.mainWindow.show()
self.close()
# if not hasattr(self, 'createDrawer'):
# self.createDrawer = CDrawer(self, widget=DrawerWidget(winType = 'Reopen', parent = self))
# self.createDrawer.setDirection(CDrawer.RIGHT)
# self.createDrawer.setWindowModality(QtCore.Qt.ApplicationModal)
# self.createDrawer.show()
else:
reply = QtWidgets.QMessageBox.question(self, '提示', '上次打开的工程已失效!', QtWidgets.QMessageBox.Yes)
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
mainWindow = Ui_InitProject()
mainWindow.show()
sys.exit(app.exec_())