Как изменить состояние кнопки 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 помочь мне в том, как это сделать?

2 Solutions collect form web for “Как изменить состояние кнопки Tkinter с отключенного на нормальное?”

Вам просто нужно установить 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) 

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

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

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

 self.x.configure(state=NORMAL) 
  • Как заменить метку в Python Tkinter?
  • Код ввода клавиши со стрелкой не работает в tkinter
  • Прозрачный фон окна (Python Tkinter)
  • Переадресация Tkinter предотвращает определенные события в Mac и Linux
  • Изменение размера одного виджета внутри другого виджета в Tkinter
  • Как обновить сюжет в matplotlib?
  • TKinter оставляет границы вокруг виджетов
  • Добавление или удаление виджетов tkinter из других модулей
  • Python: отображение Dict of Dicts с использованием дерева пользовательского интерфейса для ключей и любого другого виджета для значений
  • Переключение между кадрами в меню tkinter
  • Tkinter: ProgressBar с неопределенной продолжительностью
  • Python - лучший язык программирования в мире.