from PyQt5 import QtCore, QtGui, QtWidgets class Ui_MainWindow(QtCore.QObject): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(480, 300) font = QtGui.QFont() font.setFamily("Arial") font.setPointSize(11) font.setBold(False) font.setItalic(False) font.setWeight(9) MainWindow.setFont(font) MainWindow.setStyleSheet("background-color: rgb(229, 222, 206); font: 75 11pt \"Arial\";") self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setMinimumSize(QtCore.QSize(700, 0)) self.centralwidget.setAutoFillBackground(False) self.centralwidget.setStyleSheet("") self.centralwidget.setObjectName("centralwidget") self.mainGroupBox = QtWidgets.QGroupBox(self.centralwidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.mainGroupBox.sizePolicy().hasHeightForWidth()) self.mainGroupBox.setSizePolicy(sizePolicy) self.mainGroupBox.setMinimumSize(QtCore.QSize(450, 0)) self.mainGroupBox.setTitle("") self.mainGroupBox.setAlignment(QtCore.Qt.AlignCenter) self.mainGroupBox.setFlat(False) self.mainGroupBox.setObjectName("mainGroupBox") self.mainGroupBox.setAlignment(QtCore.Qt.AlignVCenter) self.gridLayout = QtWidgets.QGridLayout(self.mainGroupBox) self.gridLayout.setSizeConstraint(QtWidgets.QLayout.SetMinAndMaxSize) self.gridLayout.setContentsMargins(75, 20, 5, 5) self.gridLayout.setHorizontalSpacing(5) self.gridLayout.setVerticalSpacing(10) self.gridLayout.setObjectName("gridLayout") self.gridLayout.setAlignment(QtCore.Qt.AlignCenter) self.verticalLayout = QtWidgets.QVBoxLayout() self.verticalLayout.setSpacing(20) self.verticalLayout.setObjectName("verticalLayout") # Source File Path self.horizontalLayout_1 = QtWidgets.QHBoxLayout() self.horizontalLayout_1.setSpacing(10) self.horizontalLayout_1.setObjectName("horizontalLayout_1") self.sourcePathLabel = QtWidgets.QLabel(self.mainGroupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.sourcePathLabel.sizePolicy().hasHeightForWidth()) self.sourcePathLabel.setSizePolicy(sizePolicy) self.sourcePathLabel.setMinimumSize(QtCore.QSize(100, 0)) self.sourcePathLabel.setMaximumSize(QtCore.QSize(100, 16777215)) font = QtGui.QFont() font.setFamily("Arial") font.setPointSize(11) font.setBold(False) font.setItalic(False) font.setWeight(9) font.setKerning(False) self.sourcePathLabel.setFont(font) self.sourcePathLabel.setStyleSheet("color: rgb(32, 74, 135);") self.sourcePathLabel.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.sourcePathLabel.setObjectName("sourcePathLabel") self.horizontalLayout_1.addWidget(self.sourcePathLabel) self.sourcePathLineEdit = QtWidgets.QLineEdit(self.mainGroupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.sourcePathLineEdit.sizePolicy().hasHeightForWidth()) self.sourcePathLineEdit.setSizePolicy(sizePolicy) self.sourcePathLineEdit.setMinimumSize(QtCore.QSize(250, 0)) self.sourcePathLineEdit.setMaximumSize(QtCore.QSize(500, 16777215)) self.sourcePathLineEdit.setStyleSheet("background-color: rgb(255, 255, 255);") self.sourcePathLineEdit.setObjectName("sourcePathLineEdit") self.horizontalLayout_1.addWidget(self.sourcePathLineEdit) self.sourceBrowsePushButton = QtWidgets.QPushButton(self.mainGroupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.sourceBrowsePushButton.sizePolicy().hasHeightForWidth()) self.sourceBrowsePushButton.setSizePolicy(sizePolicy) self.sourceBrowsePushButton.setMinimumSize(QtCore.QSize(90, 0)) self.sourceBrowsePushButton.setStyleSheet("color: rgb(255, 255, 255); background-color: rgb(114, 159, 207);") self.sourceBrowsePushButton.setObjectName("sourceBrowsePushButton") self.horizontalLayout_1.addWidget(self.sourceBrowsePushButton) self.verticalLayout.addLayout(self.horizontalLayout_1) # Source Sheet self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setSpacing(10) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.sourceSheetLabel = QtWidgets.QLabel(self.mainGroupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.sourceSheetLabel.sizePolicy().hasHeightForWidth()) self.sourceSheetLabel.setSizePolicy(sizePolicy) self.sourceSheetLabel.setMinimumSize(QtCore.QSize(100, 0)) self.sourceSheetLabel.setMaximumSize(QtCore.QSize(100, 16777215)) font = QtGui.QFont() font.setFamily("Arial") font.setPointSize(11) font.setBold(False) font.setItalic(False) font.setWeight(9) font.setKerning(False) self.sourceSheetLabel.setFont(font) self.sourceSheetLabel.setStyleSheet("color: rgb(32, 74, 135);") self.sourceSheetLabel.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.sourceSheetLabel.setObjectName("sourcePathLabel") self.horizontalLayout_2.addWidget(self.sourceSheetLabel) self.sourceSheetComboBox = QtWidgets.QComboBox(self.mainGroupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.sourceSheetComboBox.sizePolicy().hasHeightForWidth()) self.sourceSheetComboBox.setSizePolicy(sizePolicy) self.sourceSheetComboBox.setMinimumSize(QtCore.QSize(250, 0)) self.sourceSheetComboBox.setMaximumSize(QtCore.QSize(500, 16777215)) self.sourceSheetComboBox.setStyleSheet("background-color: rgb(255, 255, 255); color: rgb(46, 52, 54);") self.sourceSheetComboBox.setMaxVisibleItems(20) self.sourceSheetComboBox.setModelColumn(0) self.sourceSheetComboBox.setObjectName("sourceSheetComboBox") self.horizontalLayout_2.addWidget(self.sourceSheetComboBox) self.verticalLayout.addLayout(self.horizontalLayout_2) # Destination File Path self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setSpacing(10) self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.destinationPathLabel = QtWidgets.QLabel(self.mainGroupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.destinationPathLabel.sizePolicy().hasHeightForWidth()) self.destinationPathLabel.setSizePolicy(sizePolicy) self.destinationPathLabel.setMinimumSize(QtCore.QSize(100, 0)) self.destinationPathLabel.setMaximumSize(QtCore.QSize(100, 16777215)) font = QtGui.QFont() font.setFamily("Arial") font.setPointSize(11) font.setBold(False) font.setItalic(False) font.setWeight(9) font.setKerning(False) self.destinationPathLabel.setFont(font) self.destinationPathLabel.setStyleSheet("color: rgb(32, 74, 135);") self.destinationPathLabel.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.destinationPathLabel.setObjectName("destinationPathLabel") self.horizontalLayout_3.addWidget(self.destinationPathLabel) self.destinationPathLineEdit = QtWidgets.QLineEdit(self.mainGroupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.destinationPathLineEdit.sizePolicy().hasHeightForWidth()) self.destinationPathLineEdit.setSizePolicy(sizePolicy) self.destinationPathLineEdit.setMinimumSize(QtCore.QSize(250, 0)) self.destinationPathLineEdit.setMaximumSize(QtCore.QSize(500, 16777215)) self.destinationPathLineEdit.setStyleSheet("background-color: rgb(255, 255, 255);") self.destinationPathLineEdit.setObjectName("destinationPathLineEdit") self.horizontalLayout_3.addWidget(self.destinationPathLineEdit) self.destinationBrowsePushButton = QtWidgets.QPushButton(self.mainGroupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.destinationBrowsePushButton.sizePolicy().hasHeightForWidth()) self.destinationBrowsePushButton.setSizePolicy(sizePolicy) self.destinationBrowsePushButton.setMinimumSize(QtCore.QSize(90, 0)) self.destinationBrowsePushButton.setStyleSheet("color: rgb(255, 255, 255); background-color: rgb(114, 159, 207);") self.destinationBrowsePushButton.setObjectName("destinationBrowsePushButton") self.horizontalLayout_3.addWidget(self.destinationBrowsePushButton) self.verticalLayout.addLayout(self.horizontalLayout_3) # Destination Sheet self.horizontalLayout_4 = QtWidgets.QHBoxLayout() self.horizontalLayout_4.setSpacing(10) self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.destinationSheetLabel = QtWidgets.QLabel(self.mainGroupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.destinationSheetLabel.sizePolicy().hasHeightForWidth()) self.destinationSheetLabel.setSizePolicy(sizePolicy) self.destinationSheetLabel.setMinimumSize(QtCore.QSize(100, 0)) self.destinationSheetLabel.setMaximumSize(QtCore.QSize(100, 16777215)) font = QtGui.QFont() font.setFamily("Arial") font.setPointSize(11) font.setBold(False) font.setItalic(False) font.setWeight(9) font.setKerning(False) self.destinationSheetLabel.setFont(font) self.destinationSheetLabel.setStyleSheet("color: rgb(32, 74, 135);") self.destinationSheetLabel.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.destinationSheetLabel.setObjectName("destinationPathLabel") self.horizontalLayout_4.addWidget(self.destinationSheetLabel) self.destinationSheetComboBox = QtWidgets.QComboBox(self.mainGroupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.destinationSheetComboBox.sizePolicy().hasHeightForWidth()) self.destinationSheetComboBox.setSizePolicy(sizePolicy) self.destinationSheetComboBox.setMinimumSize(QtCore.QSize(250, 0)) self.destinationSheetComboBox.setMaximumSize(QtCore.QSize(500, 16777215)) self.destinationSheetComboBox.setStyleSheet("background-color: rgb(255, 255, 255); color: rgb(46, 52, 54);") self.destinationSheetComboBox.setMaxVisibleItems(20) self.destinationSheetComboBox.setModelColumn(0) self.destinationSheetComboBox.setObjectName("destinationSheetComboBox") self.horizontalLayout_4.addWidget(self.destinationSheetComboBox) self.verticalLayout.addLayout(self.horizontalLayout_4) self.horizontalLayout_5 = QtWidgets.QHBoxLayout() self.horizontalLayout_5.setSpacing(10) self.horizontalLayout_5.setObjectName("horizontalLayout_5") self.linesLabel = QtWidgets.QLabel(self.mainGroupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.linesLabel.sizePolicy().hasHeightForWidth()) self.linesLabel.setSizePolicy(sizePolicy) self.linesLabel.setMinimumSize(QtCore.QSize(100, 0)) self.linesLabel.setMaximumSize(QtCore.QSize(100, 16777215)) font = QtGui.QFont() font.setFamily("Arial") font.setPointSize(11) font.setBold(False) font.setItalic(False) font.setWeight(9) font.setKerning(False) self.linesLabel.setFont(font) self.linesLabel.setStyleSheet("color: rgb(32, 74, 135);") self.linesLabel.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) self.linesLabel.setObjectName("linesLabel") self.horizontalLayout_5.addWidget(self.linesLabel) self.linesInput = QtWidgets.QLineEdit("", self.mainGroupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.linesInput.sizePolicy().hasHeightForWidth()) self.linesInput.setSizePolicy(sizePolicy) reg_ex = QtCore.QRegExp(r"([0-9]+(-|,)?)*") input_validator = QtGui.QRegExpValidator(reg_ex, self.linesInput) self.linesInput.setValidator(input_validator) self.linesInput.setStyleSheet("background-color: rgb(255, 255, 255);") self.linesInput.setMinimumSize(250, 0) self.linesInput.setMaximumSize(500, 16777215) self.linesInput.setToolTip('Only integer values are accepted along with "-" & "," \nwhich are used for range & ' \ 'multiple values respectively') self.horizontalLayout_5.addWidget(self.linesInput) self.addMissingCheckBox = QtWidgets.QCheckBox() font = QtGui.QFont() font.setFamily("Arial") font.setPointSize(11) font.setBold(False) font.setItalic(False) font.setWeight(9) font.setKerning(False) self.addMissingCheckBox.setFont(font) self.addMissingCheckBox.setStyleSheet("color: rgb(32, 74, 135);") self.horizontalLayout_5.addWidget(self.addMissingCheckBox) self.verticalLayout.addLayout(self.horizontalLayout_5) self.horizontalLayout_6 = QtWidgets.QHBoxLayout() self.horizontalLayout_6.setSpacing(10) self.horizontalLayout_6.setObjectName("horizontalLayout_6") self.filterButton = QtWidgets.QPushButton(self.mainGroupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.filterButton.sizePolicy().hasHeightForWidth()) self.filterButton.setSizePolicy(sizePolicy) self.filterButton.setMinimumSize(QtCore.QSize(90, 0)) self.filterButton.setStyleSheet("color: rgb(255, 255, 255); background-color: rgb(114, 159, 207);") self.filterButton.setObjectName("openLogFilePushButton_4") self.horizontalLayout_6.addWidget(self.filterButton) self.runButton = QtWidgets.QPushButton(self.mainGroupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.runButton.sizePolicy().hasHeightForWidth()) self.runButton.setSizePolicy(sizePolicy) self.runButton.setMinimumSize(QtCore.QSize(90, 0)) self.runButton.setStyleSheet("color: rgb(255, 255, 255); background-color: rgb(138, 226, 52);") self.runButton.setObjectName("openLogFilePushButton_4") self.horizontalLayout_6.addWidget(self.runButton) self.openResultFilePushButton = QtWidgets.QPushButton(self.mainGroupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.openResultFilePushButton.sizePolicy().hasHeightForWidth()) self.openResultFilePushButton.setSizePolicy(sizePolicy) self.openResultFilePushButton.setMinimumSize(QtCore.QSize(90, 0)) self.openResultFilePushButton.setStyleSheet("color: rgb(255, 255, 255);background-color: rgb(114, 159, 207);") self.openResultFilePushButton.setObjectName("openResultFilePushButton_4") self.horizontalLayout_6.addWidget(self.openResultFilePushButton) self.verticalLayout.addLayout(self.horizontalLayout_6) self.gridLayout.addLayout(self.verticalLayout, 0, 0, 1, 1, QtCore.Qt.AlignCenter) MainWindow.setCentralWidget(self.centralwidget) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def close(self,event): self.child.terminate() self.child.waitForFinished() event.accept() def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "icopy2xls")) self.sourcePathLabel.setText(_translate("MainWindow", "Source File")) self.sourceBrowsePushButton.setText(_translate("MainWindow", "Browse")) self.sourceSheetLabel.setText(_translate("MainWindow", "Source Sheet")) self.destinationPathLabel.setText(_translate("MainWindow", "Dest. File")) self.destinationBrowsePushButton.setText(_translate("MainWindow", "Browse")) self.destinationSheetLabel.setText(_translate("MainWindow", "Dest. Sheet")) self.linesLabel.setText(_translate("MainWindow", "Lines")) self.addMissingCheckBox.setText(_translate("MainWindow", "Add Missing")) self.openResultFilePushButton.setText(_translate("MainWindow", "Result File")) self.runButton.setText(_translate("MainWindow", "Run")) self.filterButton.setText(_translate("MainWindow", "Filters")) if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) MainWindow = QtWidgets.QMainWindow() ui = Ui_MainWindow() ui.setupUi(MainWindow) MainWindow.show() sys.exit(app.exec_())