Выводит ошибку TypeError: MainWindow.find_directory() takes 1 positional argument but 2 were given

Рейтинг: 0Ответов: 0Опубликовано: 12.01.2023

Хочу сделать программу более удобной - чтобы функция выполнялась не только по нажатию кнопки, но и при нажатии Enter. Используя .bind выдает такую ошибку 'TypeError: MainWindow.find_directory() takes 1 positional argument but 2 were given'. Не могу понять, в чем дело, ведь при нажатии кнопки все работает нормально. Объявляю класс MainWindow:

class MainWindow(Tk):
def __init__(self):
    super().__init__()
    self.initUI()

# Расположение кнопок, текста и т.д.
def initUI(self):
    self.title("Поиск документации на сервере")
    self.geometry('800x500')
    self.centerWindow(800, 500)

Добавляю кнопку и событие для запуска метода:

    find_button = Button(self, text="Найти", cursor="hand2", command=self.find_directory)
    find_button.place(x=50, y=130)
    self.bind('<space>', self.find_directory)

А вот и сам метод класса:

    def find_directory(self):
    try:
        self.frame_of_name_directory.place_forget()
    except AttributeError:
        pass
    try:
        self.self.open_button.place_forget()
    except AttributeError:
        pass

Ответы

Ответов пока нет.