class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.setFixedSize(660, 500) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.comboBox_grid = QtWidgets.QComboBox(self.centralwidget) self.comboBox_grid.setGeometry(QtCore.QRect(540, 330, 86, 25)) self.comboBox_grid.setObjectName("comboBox_grid") self.comboBox_grid.addItem("") self.comboBox_grid.addItem("") self.comboBox_grid.addItem("") self.comboBox_grid.addItem("") self.comboBox_grid.addItem("") self.comboBox_grid.addItem("") self.comboBox_grid.addItem("") self.comboBox_grid.hide() self.pushButton_start = QtWidgets.QPushButton(self.centralwidget) self.pushButton_start.setGeometry(QtCore.QRect(540, 410, 89, 25)) self.pushButton_start.setObjectName("pushButton_start") self.pushButton_start.hide() self.label_grid = QtWidgets.QLabel(self.centralwidget) self.label_grid.setGeometry(QtCore.QRect(480, 330, 51, 21)) self.label_grid.setFrameShape(QtWidgets.QFrame.NoFrame) self.label_grid.setObjectName("label_grid") self.label_grid.hide() self.progressBar = QtWidgets.QProgressBar(self.centralwidget) self.progressBar.setGeometry(QtCore.QRect(20, 410, 361, 23)) self.progressBar.setObjectName("progressBar") self.progressBar.setProperty("value", 0) self.progressBar.hide() self.image = QtWidgets.QLabel(self.centralwidget) self.image.setGeometry(QtCore.QRect(20, 20, 300, 300)) self.image.setText("") self.image.setScaledContents(True) self.image.setObjectName("image") self.mozaika = QtWidgets.QLabel(self.centralwidget) self.mozaika.setGeometry(QtCore.QRect(340, 20, 300, 300)) self.mozaika.setText("") self.mozaika.setScaledContents(True) self.mozaika.setObjectName("mozaika") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 505, 22)) self.menubar.setObjectName("menubar") self.menuPlik = QtWidgets.QMenu(self.menubar) self.menuPlik.setObjectName("menuPlik") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.action_load_path = QtWidgets.QAction(MainWindow) self.action_load_path.setObjectName("action_load_path") self.action_load_img = QtWidgets.QAction(MainWindow) self.action_load_img.setObjectName("action_load_img") self.action_save_img = QtWidgets.QAction(MainWindow) self.action_save_img.setObjectName("action_save_img") self.action_save_img.setEnabled(False) self.menuPlik.addAction(self.action_load_path) self.menuPlik.addAction(self.action_load_img) self.menuPlik.addAction(self.action_save_img) self.menubar.addAction(self.menuPlik.menuAction()) self.pushButton_start.clicked.connect(self.start) self.action_load_img.triggered.connect(self.load_image) self.action_load_path.triggered.connect(self.load_path) self.action_save_img.triggered.connect(self.save_image) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "Mosaicapp")) self.comboBox_grid.setItemText(0, _translate("MainWindow", "8x8")) self.comboBox_grid.setItemText(1, _translate("MainWindow", "20x20")) self.comboBox_grid.setItemText(2, _translate("MainWindow", "40x40")) self.comboBox_grid.setItemText(3, _translate("MainWindow", "80x80")) self.comboBox_grid.setItemText(4, _translate("MainWindow", "100x100")) self.comboBox_grid.setItemText(5, _translate("MainWindow", "200x200")) self.comboBox_grid.setItemText(6, _translate("MainWindow", "400x400")) self.pushButton_start.setText(_translate("MainWindow", "Start")) self.label_grid.setText(_translate("MainWindow", "Grid:")) self.menuPlik.setTitle(_translate("MainWindow", "File")) self.action_load_path.setText(_translate("MainWindow", "Load gallery path")) self.action_load_img.setText(_translate("MainWindow", "Load image")) self.action_save_img.setText(_translate("MainWindow", "Save image")) def start(self): self.msc = Mosaic() self.msc.im = self.img_file self.msc.path = self.path self.msc.grid = self.get_grid() self.progressBar.show() self.new_image = self.msc.make_mosaic(self.progressBar) self.mozaika.setPixmap(QtGui.QPixmap('temporary_img.jpg')) os.remove('temporary_img.jpg') self.action_save_img.setEnabled(True) def load_image(self): self.img = QFileDialog.getOpenFileName() self.img_file = Image.open(self.img[0]) self.image.setPixmap(QtGui.QPixmap(self.img[0])) self.pushButton_start.show() self.label_grid.show() self.comboBox_grid.show() def load_path(self): self.path = QFileDialog.getExistingDirectory() def get_grid(self) -> int: self.grid = int(self.comboBox_grid.currentText().split('x')[0]) return self.grid def save_image(self): self.w = Widget() self.w.get_mosaic_img(self.new_image)