2017-07-14 6 views
1

私のGUIのbutton3は、ものを計算するのにかなり時間がかかる関数を呼び出しています。だから私は、ボタンのテキストや色を変更したいその間に:tkinter:ボタンの色が更新されない

self.button3.config(foreground='red') 
self.button3['text'] = 'PLEASE WAIT ...' 
self.button3.update_idletasks() 

ボタンのテキストは、実際に変化しないが、色は同じまま。どうして?

答えて

1

あなたのボタンは、長い計算中にアクティブ状態のままである可​​能性があります。ボタンが アクティブなときに使用するどのようなフォアグラウンドカラー=

self.button3.config(activeforeground='red') 

activeforeground:だから、赤にそのactiveforeground色を設定することもできます。デフォルトはシステム固有です。意図したとおりに動作します(activeForeground /背景)

(Tkinter Button documentation)

+1

ああはあなたに感謝、。しかし、\ _ \ _ init \ _ \ _(ボタンはクラスの一部です)にアクティブな場所を設定することはできません。その理由は、その上にマウスカーソルを置くとボタンのテキストが赤くなるからです。ボタンをクリックすると、そのボタンをアクティブにしてホバリングするように設定されます。私はメインループが戻ってすぐにボタンが非アクティブ状態に戻ると仮定していますか?私はまだこの動作すべてを明確にする良いチュートリアルを探しています。解決に感謝します:) – user3182532

関連する問題