@Mishele123

Почему переменной select_folder не присваивается значение?

Вот код:
class MainWindow(QWidget):
    def __init__(self) -> None:
        self.select_folder = ""
        super().__init__()
        self.resize(300, 100)
        self.setUi()
        
    def create_button(self) -> QPushButton:
        button = QPushButton("Путь к датасету")
        self.select_folder = button.clicked.connect(lambda: on_clicked_button(self))
        return button

    def create_button1(self) -> QPushButton:
        button = QPushButton("Создать файл аннотацию исходного датасета")
        button.clicked.connect(lambda: on_clicked_button_for_make_dataset(self, self.select_folder))
        return button
    
    def create_button2(self) -> QPushButton:
        button = QPushButton("создания датасета с другой организацией файлов ")
        button.clicked.connect(lambda: on_clicked_button_for_make_dataset(self, self.select_folder))
        return button

    def create_button3(self) -> QPushButton:
        button = QPushButton("Следующая картинка tiger")
        return button

    def create_button4(self) -> QPushButton:
        button = QPushButton("Следующая картинка leopard")
        return button


во втором файле:
def on_clicked_button(main_windows: QWidget) -> str:
    folderpath = str(QtWidgets.QFileDialog.getExistingDirectory(main_windows, "Выберите папку"))
    print(f"Вы выбрали: {folderpath}")
    return folderpath


при просмотре через дебагер функция нормально отрабатывает. Возвращает путь к папке. Но при вызове этой функции:
def on_clicked_button_for_make_dataset(main_windows: QWidget, select_folder: str) -> None:
    print(select_folder)
    folderpath = QtWidgets.QFileDialog.getExistingDirectory(main_windows, "Выберите папку")
    print(f"Вы выбрали: {folderpath}")
    
    create_dataset(select_folder, folderpath)


Значение переменной select_folder равно "". Что не так?
  • Вопрос задан
  • 29 просмотров
Пригласить эксперта
Ответы на вопрос 1
@codingoleg
Вы не указали код, где создаете экземпляр класса MainWindow и вызываете метод create_button или что там у вас происходит, поэтому ответить невозможно.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
SpectrumData Екатеринбург
от 150 000 до 200 000 ₽
Гринатом Москва
от 150 000 ₽
Greenway Global Новосибирск
от 150 000 ₽