web-dev-qa-db-ja.com

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はそれを行う方法で私を助けることができますか?

31
scandalous

ボタンの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()のメソッドpackNoneを返し、それを_self.x_に割り当てています。実際には、Button(...)の戻り値を_self.x_に割り当ててから、次の行でself.x.pack()を使用します。

57
Sheng

ウィジェットのオプションをすばやく変更する方法は、configureメソッドを使用することだと思います。

あなたの場合、次のようになります。

self.x.configure(state=NORMAL)
7
guibe80