Подтвердить что ты не робот

Как изменить состояние кнопки Tkinter с отключенного на нормальное?

Мне нужно изменить состояние от DISABLED до NORMAL Button, когда произойдет какое-то событие.

Вот текущее состояние моей кнопки, которая в настоящее время отключена:

  self.x = Button(self.dialog, text="Download",
                state=DISABLED, command=self.download).pack(side=LEFT)

 self.x(state=NORMAL)  # this does not seem to work

Может ли anyonne помочь мне в том, как это сделать?

4b9b3361

Ответ 1

Вам просто нужно установить state вашей кнопки self.x на normal:

self.x['state'] = 'normal'

или

self.x.config(state="normal")

Этот код пойдет в обратном вызове для события, которое приведет к включению кнопки.


Кроме того, правильный код должен быть:

self.x = Button(self.dialog, text="Download", state=DISABLED, command=self.download)
self.x.pack(side=LEFT)

Метод pack в Button(...).pack() возвращает None, и вы назначаете его self.x. Вы действительно хотите назначить возвращаемое значение Button(...) на self.x, а затем в следующей строке используйте self.x.pack().

Ответ 2

Я думаю, что быстрый способ изменить параметры виджета - это использовать метод configure.

В вашем случае это будет выглядеть так:

self.x.configure(state=NORMAL)