Изменение объекта кнопки на четный объект - PullRequest
0 голосов
/ 20 декабря 2018

Я создаю кнопки, затем помещаю их в качестве аргументов в функцию, которую я создал, назвал (размещение), но когда я запускаю их в качестве аргументов и пытаюсь напечатать тип этого ввода, они становятся объектами событий.Я не понимаю, почему это происходит, мне нужно, чтобы они оставались объектами Button, потому что я хочу изменить текст кнопки после того, как я нажму ее

for column in range(self.column + 1):
    new_button = Button(new_frame, text = ' ', height = 10, width = 20)
    new_button.grid(row = r, column = c)
    new_button.bind('<Button-1>', func = lambda x=new_button: self.placement(x))

def placement(self, button):
    print(type(button))
    if self.current == 1:
        button.config(text = 1)
        self.current = 2
    else:
        button.config(text = 2)
        self.current = 1

1 Ответ

0 голосов
/ 20 декабря 2018

A bind функция требует аргумента event, поэтому вы должны изменить свой код на:

new_button.bind('<Button-1>', func = lambda event, x=new_button: self.placement(x))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...