Py_N008
@Py_N008

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

Как можно сделать так что в приложении при нажатии первой кнопки в ListWidget выводился список имен картинок в папке по выбранному пути, а при нажатии второй скрипт брал эти картинок и конвертировал в пдф?

import os
import sys

import img2pdf
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QMainWindow
from PyQt5.QtWidgets import QFileDialog
import ui_window


class App(QtWidgets.QMainWindow, ui_window.Ui_MainWindow):
    def __init__(self):
        super(App, self).__init__()
        self.setupUi(self)
        self.btn_choose.clicked.connect(self.listWidget)
        # btn_convert.clicked.connect(self.listWidget)

    def btn_choose(self):
        self.plainTextEdit.clear()
        path = QFileDialog.getExistingDirectory(self, "Выберите файлы")

        if path:
            for files in os.listdir(path):
                self.listWidget.addItem(files)


def main():
    app = QtWidgets.QApplication(sys.argv)
    window = App()
    window.show()

    app.exec_()


if __name__ == "__main__":
    main()
  • Вопрос задан
  • 45 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Vindicar
> кнопка брала директорию из первой кнопки
И вот тут-то и косяк. Не из "первой кнопки", а из специально созданного (в __init__() разумеется) поля класса Convert_App. А записывать данные в это поле должен обработчик нажатия первой кнопки.
Это азы питоновского ООП, освойте их и таких вопросов возникать не будет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы