Как изменить состояние кнопки 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) 
  • Использование текстовых входов в pygame
  • Диалоги файлов Tkinter в Python 3?
  • Python Tkinter Embed Matplotlib в графическом интерфейсе
  • Как перенаправить stdout в текстовый виджет Tkinter
  • Можете ли вы изменить атрибуты объекта Canvas Canvas после создания?
  • tkinter.TclError: изображения "pyimage3" не существует
  • Python Tkinter - прокрутка холста с помощью мыши
  • Курсор над холстом matplotlib в Tkinter
  • Python - лучший язык программирования в мире.