def SetDatabase(self): filter = "sql(*.sql)" caption = "Please Select a Valid Project Database" path = str( QSettings('CompanyName', 'ProjectName').value('LastProject')) if len(path) > 0: path = osPath.dirname(path) else: path = str(QDir.currentPath()) IsProject = False dbContinue = True while dbContinue: FindProj = QFileDialog() FindProj.setModal(True) FindProj.setFixedSize(self.size()) filePathName = FindProj.getOpenFileName(None, caption, path, filter)[0] # Is this a legitimate file if osPath.isfile(filePathName): filPthNam, fileExt = ntSplitext(filePathName) # Does it have a legitimate file extension if fileExt == '.sql': IsProject = True if not IsProject: ValidMsg = QMessageBox() ValidMsg.setIcon(QMessageBox.Warning) ValidMsg.setWindowTitle('CompanyName - ProjectName Project') ValidMsg.setText( 'This is not a Valid Project Database would you like to try again?' ) ValidMsg.setStandardButtons(QMessageBox.Yes | QMessageBox.No) ValidMsg.setDefaultButton(QMessageBox.No) ValidMsg.setWindowFlags(Qt.WindowStaysOnTopHint) MsgReply = ValidMsg.exec_() if MsgReply == QMessageBox.No: dbContinue = False filePathName = '' else: QSettings('CompanyName', 'ProjectName').setValue("LastProjectPath", osPath.dirname(filePathName)) dbContinue = False return filePathName
class Ui_MainWindow(object): def setupUi(self, MainWindow): screen = app.primaryScreen() screenHeight = screen.size().height() screenWidth = screen.size().width() MainWindow.setObjectName("MainWindow") MainWindow.setFixedSize(1125, 800) MainWindow.setAutoFillBackground(False) myappid = u'Risk_Identefier' # arbitrary string ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(myappid) self.setWindowIcon(QtGui.QIcon('logo.png')) self.filedialog = QFileDialog() self.filedialog.setFixedSize(500, 500) self.fileName = "" self.msg = QMessageBox() self.centralwidget = QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.centralwidget.setStyleSheet("background: #707070;") self.progressBar = QProgressBar(self.centralwidget) self.progressBar.setGeometry(QtCore.QRect(50, 835 - 103, 200, 23)) self.progressBar.setProperty("value", 0) self.progressBar.setObjectName("progressBar") self.progressBar.hide() self.progressBarLabel = QLabel(self.centralwidget) self.progressBarLabel.setWordWrap(True) self.progressBarLabel.setGeometry(QtCore.QRect(500, 835 - 103, 300, 25)) font = QtGui.QFont() font.setPointSize(14) self.progressBarLabel.setFont(font) self.progressBarLabel.setObjectName("progressBarLabel") self.progressBarLabel.setStyleSheet("color: #effeff;") self.hideProgNumLabel = QLabel(self.centralwidget) self.hideProgNumLabel.setGeometry(QtCore.QRect(215, 835 - 103, 50, 23)) self.hideProgNumLabel.setObjectName("hideProgNumLabel") self.hideProgNumLabel.setStyleSheet("background: #707070;") self.radioButtonML = QtWidgets.QRadioButton(self.centralwidget) self.radioButtonML.setGeometry(QtCore.QRect(30, 640 - 103, 180, 23)) self.radioButtonML.setObjectName("radioButtonML") self.radioButtonML.setFont(font) self.radioButtonML.setStyleSheet( "QRadioButton{color:#effeff} QRadioButton:indicator { image: url('images/uncheckedRadio.png'); width:20px; height: 150px;} QRadioButton:indicator:checked {image: url('images/radioChecked.png');}" ) self.radioButtonML.setCursor( QtGui.QCursor(QtCore.Qt.PointingHandCursor)) self.radioButtonML.setChecked(True) self.radioButtonSearch = QtWidgets.QRadioButton(self.centralwidget) self.radioButtonSearch.setGeometry(QtCore.QRect( 30, 700 - 103, 171, 23)) self.radioButtonSearch.setObjectName("radioButtonSearch") self.radioButtonSearch.setFont(font) self.radioButtonSearch.setStyleSheet( "QRadioButton{color:#effeff} QRadioButton:indicator { image: url('images/uncheckedRadio.png'); width:20px; height: 150px;} QRadioButton:indicator:checked {image: url('images/radioChecked.png');}" ) self.radioButtonSearch.setCursor( QtGui.QCursor(QtCore.Qt.PointingHandCursor)) self.browseButton = QPushButton(self.centralwidget) self.browseButton.setGeometry(QtCore.QRect(30, 460 - 103, 171, 41)) font = QtGui.QFont() font.setPointSize(14) self.browseButton.setFont(font) self.browseButton.setAutoDefault(False) self.browseButton.setFlat(False) self.browseButton.setObjectName("browseButton") self.browseButton.setStyleSheet( "QPushButton{background: #914ed4; border-radius: 10px; color: #effeff; border: 3px outset black;} QPushButton:hover{background : #4838e8; border: 3px outset white;};" ) self.browseButton.setCursor(QtGui.QCursor( QtCore.Qt.PointingHandCursor)) self.titlePicture = QLabel(self.centralwidget) self.titlePicture.setGeometry(QtCore.QRect(0, 0, 1154, 347)) self.titlePicture.setText("") self.titlePicture.setStyleSheet( "background-image: url('images/background.jpg')") self.titlePicture.setObjectName("titlePicture") self.logoPicture = QLabel(self.centralwidget) self.logoPicture.setGeometry(QtCore.QRect(975, 0, 150, 90)) self.logoPicture.setText("") self.logoPicture.setStyleSheet( "background-image: url('images/logo.png')") self.logoPicture.setObjectName("logoPicture") self.title = QLabel(self.centralwidget) self.title.setGeometry(QtCore.QRect(50, 200, 381, 61)) self.title.setStyleSheet("background: transparent; color: #effeff;") font = QtGui.QFont() font.setFamily("Times New Roman") font.setPointSize(40) font.setBold(True) font.setWeight(75) self.title.setFont(font) self.title.setObjectName("title") self.runButton = QPushButton(self.centralwidget) self.runButton.setGeometry(QtCore.QRect(282, 735 - 103, 561, 81)) font = QtGui.QFont() font.setPointSize(20) self.runButton.setFont(font) self.runButton.setObjectName("runButton") self.runButton.setStyleSheet( "QPushButton{background: #914ed4; border-radius: 10px; color: #effeff; border: 3px outset black;} QPushButton:hover{background : #4838e8; border: 3px outset white;};" ) self.runButton.setDefault(True) self.runButton.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor)) self.positiveCheckBox = QCheckBox(self.centralwidget) self.positiveCheckBox.setGeometry(QtCore.QRect(860, 530 - 103, 191, 20)) font = QtGui.QFont() font.setPointSize(12) self.positiveCheckBox.setFont(font) self.positiveCheckBox.setChecked(True) self.positiveCheckBox.setObjectName("positiveCheckBox") self.positiveCheckBox.setStyleSheet( "QCheckBox{color:#effeff} QCheckBox:indicator { image: url('images/unchecked.png'); width:20px; height: 150px;} QCheckBox:indicator:checked {image: url('images/checked.png');}" ) self.positiveCheckBox.setCursor( QtGui.QCursor(QtCore.Qt.PointingHandCursor)) self.negativeCheckBox = QCheckBox(self.centralwidget) self.negativeCheckBox.setChecked(True) self.negativeCheckBox.setGeometry(QtCore.QRect(860, 650 - 103, 191, 20)) font = QtGui.QFont() font.setPointSize(12) self.negativeCheckBox.setFont(font) self.negativeCheckBox.setAutoFillBackground(False) self.negativeCheckBox.setChecked(True) self.negativeCheckBox.setObjectName("negativeCheckBox") self.negativeCheckBox.setStyleSheet( "QCheckBox{color:#effeff} QCheckBox:indicator { image: url('images/unchecked.png'); width:20px; height: 150px;} QCheckBox:indicator:checked {image: url('images/checked.png');}" ) self.negativeCheckBox.setCursor( QtGui.QCursor(QtCore.Qt.PointingHandCursor)) self.positiveInput = QTextEdit(self.centralwidget) self.positiveInput.setGeometry(QtCore.QRect(500, 510 - 103, 331, 71)) font = QtGui.QFont() font.setPointSize(10) self.positiveInput.setFont(font) self.positiveInput.setObjectName("positiveInput") self.positiveInput.setStyleSheet( "background: white; border-radius: 10px;") self.positiveInput.setText(",".join(positiveList)) self.negativeInput = QTextEdit(self.centralwidget) self.negativeInput.setGeometry(QtCore.QRect(500, 630 - 103, 331, 71)) font = QtGui.QFont() font.setPointSize(10) self.negativeInput.setFont(font) self.negativeInput.setObjectName("negativeInput") self.negativeInput.setStyleSheet( "background: white; border-radius: 10px") self.negativeInput.setText(",".join(negativeList)) self.sheetInput = QLineEdit(self.centralwidget) self.sheetInput.setGeometry(QtCore.QRect(30, 580 - 103, 171, 31)) font = QtGui.QFont() font.setPointSize(12) self.sheetInput.setFont(font) self.sheetInput.setObjectName("sheetInput") self.sheetInput.setStyleSheet("background: white; border-radius: 10px") self.columnInput = QLineEdit(self.centralwidget) self.columnInput.setGeometry(QtCore.QRect(250, 580 - 103, 171, 31)) font = QtGui.QFont() font.setPointSize(12) self.columnInput.setFont(font) self.columnInput.setText("") self.columnInput.setObjectName("columnInput") self.columnInput.setStyleSheet( "background: white; border-radius: 10px") self.sheetNameLabel = QLabel(self.centralwidget) self.sheetNameLabel.setGeometry(QtCore.QRect(30, 550 - 103, 131, 21)) font = QtGui.QFont() font.setPointSize(14) self.sheetNameLabel.setFont(font) self.sheetNameLabel.setObjectName("sheetNameLabel") self.sheetNameLabel.setStyleSheet("color: #effeff;") self.columnNameLabel = QLabel(self.centralwidget) self.columnNameLabel.setGeometry(QtCore.QRect(250, 550 - 103, 131, 16)) font = QtGui.QFont() font.setPointSize(14) self.columnNameLabel.setFont(font) self.columnNameLabel.setObjectName("columnNameLabel") self.columnNameLabel.setStyleSheet("color: #effeff;") self.positiveWordsLabel = QLabel(self.centralwidget) self.positiveWordsLabel.setGeometry( QtCore.QRect(500, 480 - 103, 601, 21)) font = QtGui.QFont() font.setPointSize(14) self.positiveWordsLabel.setFont(font) self.positiveWordsLabel.setObjectName("positiveWordsLabel") self.positiveWordsLabel.setStyleSheet("color: #effeff;") self.negativeWordsLabel = QLabel(self.centralwidget) self.negativeWordsLabel.setGeometry( QtCore.QRect(500, 600 - 103, 611, 21)) font = QtGui.QFont() font.setPointSize(14) self.negativeWordsLabel.setFont(font) self.negativeWordsLabel.setObjectName("negativeWordsLabel") self.negativeWordsLabel.setStyleSheet("color: #effeff;") self.selectedFileLabel = QLabel(self.centralwidget) self.selectedFileLabel.setGeometry( QtCore.QRect(225, 470 - 103, 270, 25)) font = QtGui.QFont() font.setPointSize(12) self.selectedFileLabel.setFont(font) self.selectedFileLabel.setText("") self.selectedFileLabel.setObjectName("selectedFileLabel") self.selectedFileLabel.setStyleSheet("color: #effeff;") self.searchInput = QTextEdit(self.centralwidget) self.searchInput.setGeometry(QtCore.QRect(500, 580 - 103, 601, 100)) font = QtGui.QFont() font.setPointSize(12) self.searchInput.setFont(font) self.searchInput.setObjectName("sheetInput") self.searchInput.setStyleSheet( "background: white; border-radius: 10px") self.searchInputLabel = QLabel(self.centralwidget) self.searchInputLabel.setGeometry(QtCore.QRect(500, 550 - 103, 611, 21)) font = QtGui.QFont() font.setPointSize(14) self.searchInputLabel.setFont(font) self.searchInputLabel.setObjectName("searchInputLabel") self.searchInputLabel.setStyleSheet("color: #effeff;") self.searchInput.hide() self.searchInputLabel.hide() MainWindow.setCentralWidget(self.centralwidget) self.menubar = QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 1125, 21)) self.menubar.setObjectName("menubar") MainWindow.setMenuBar(self.menubar) self.statusbar = QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.stop_words = stopwords.words('english') extended_stop_words = ['from', 're', 'use', 'any', 'also', 'known'] self.stop_words.extend(extended_stop_words) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "Risks Identifier")) self.browseButton.setText(_translate("MainWindow", "Browse For File")) self.radioButtonML.setText(_translate("MainWindow", "Machine Learning")) self.radioButtonSearch.setText( _translate("MainWindow", "Normal Search")) self.title.setText(_translate("MainWindow", "Risks Identifier")) self.runButton.setText(_translate("MainWindow", "Run Tool")) self.positiveCheckBox.setText( _translate("MainWindow", "Default Positive Words")) self.negativeCheckBox.setText( _translate("MainWindow", "Default Negative Words")) self.sheetNameLabel.setText(_translate("MainWindow", "Sheet Name:")) self.columnNameLabel.setText(_translate("MainWindow", "Column Name:")) self.progressBarLabel.setText(_translate("MainWindow", "")) self.positiveWordsLabel.setText( _translate( "MainWindow", "Positive words separated by commas (words must exist in documents):" )) self.negativeWordsLabel.setText( _translate( "MainWindow", "Negative words separated by commas (words must exist in documents):" )) self.searchInputLabel.setText( _translate("MainWindow", "Words to search for seperated by commas:"))