Как изменить состояние кнопки Tkinter с disabled на normal?

мне нужно изменить состояние с DISABLED to 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 ответов


вы просто должны установить 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(...) to self.x, и затем, в следующей строке, используйте self.x.pack().


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

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

self.x.configure(state=NORMAL)