• Как сделать так, чтобы внутри одного виджета выполнялись разные действия?

    Py_N008
    @Py_N008 Автор вопроса
    Vindicar, да отправил сырость, немного поправил, но вопрос остается прежним, как можно сделать так чтобы вторая кнопка брала директорию из первой кнопки и сохраняла результат в папку по заново выбранной директории?

    import sys
    import os
    import img2pdf
    from PyQt5 import QtWidgets
    import ui_window
    
    
    class Convert_App(QtWidgets.QMainWindow, ui_window.Ui_MainWindow):
        def __init__(self):
            super().__init__()
            self.setupUi(self)
            self.btn_choose.clicked.connect(self.choose)
            self.btn_convert.clicked.connect(self.convert)
    
        def choose(self):
            self.listWidget.clear()
            directory = QtWidgets.QFileDialog.getExistingDirectory(self, "Выберите папку")
    
            if directory:
                for file_name in os.listdir(directory):
                    self.listWidget.addItem(file_name)
    
        def convert(self):
            dirname = '/path/to/image/'
            imgs = []
            for fname in os.listdir(dirname):
                if not fname.endswith(".jpg"):
                    continue
                path = os.path.join(dirname, fname)
                if os.path.isdir(path):
                    continue
                imgs.append(path)
            with open("name.pdf", "wb") as f:
                f.write(img2pdf.convert(imgs))
    
    
    def main():
        app = QtWidgets.QApplication(sys.argv)
        window = Convert_App()
        window.show()
        app.exec_()
    
    
    if __name__ == '__main__':
        main()


    #код формы
    from PyQt5 import QtCore, QtGui, QtWidgets
    
    
    class Ui_MainWindow(object):
        def setupUi(self, MainWindow):
            MainWindow.setObjectName("MainWindow")
            MainWindow.resize(424, 471)
            self.centralwidget = QtWidgets.QWidget(MainWindow)
            self.centralwidget.setObjectName("centralwidget")
            self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
            self.verticalLayout.setObjectName("verticalLayout")
            self.listWidget = QtWidgets.QListWidget(self.centralwidget)
            self.listWidget.setObjectName("listWidget")
            self.verticalLayout.addWidget(self.listWidget)
            self.horizontalLayout = QtWidgets.QHBoxLayout()
            self.horizontalLayout.setObjectName("horizontalLayout")
            self.btn_choose = QtWidgets.QPushButton(self.centralwidget)
            self.btn_choose.setObjectName("btn_choose")
            self.horizontalLayout.addWidget(self.btn_choose)
            self.btn_convert = QtWidgets.QPushButton(self.centralwidget)
            self.btn_convert.setObjectName("btn_convert")
            self.horizontalLayout.addWidget(self.btn_convert)
            self.verticalLayout.addLayout(self.horizontalLayout)
            MainWindow.setCentralWidget(self.centralwidget)
            self.menubar = QtWidgets.QMenuBar(MainWindow)
            self.menubar.setGeometry(QtCore.QRect(0, 0, 424, 26))
            self.menubar.setObjectName("menubar")
            MainWindow.setMenuBar(self.menubar)
            self.statusbar = QtWidgets.QStatusBar(MainWindow)
            self.statusbar.setObjectName("statusbar")
            MainWindow.setStatusBar(self.statusbar)
    
            self.retranslateUi(MainWindow)
            QtCore.QMetaObject.connectSlotsByName(MainWindow)
    
        def retranslateUi(self, MainWindow):
            _translate = QtCore.QCoreApplication.translate
            MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
            self.btn_choose.setText(_translate("MainWindow", "Выбрать файл"))
            self.btn_convert.setText(_translate("MainWindow", "Конвертировать"))