特定のウィジェットのデフォルトの Tkinter kwargs 値を変更するにはどうすればよいですか?
tk_setPalette(theme) で一般的な Tkinter テーマを設定できることはわかっているので、デフォルト値を計算して上書きし、新しいテーマに最適な色を使用しようとしますが、もっと制御できるものが欲しいです。
たとえば、Tkinter ウィジェットの背景色を簡単に変更したいとします。次のようにします。
import Tkinter as tk
COLOR = 'blue' #This would be in some constant or setting modules
class CustomButton(tk.Button):
def __init__(self, root, **options):
tk.Button.__init__(self, root, bg=COLOR, **options)
次に、ある時点で背景色を青から赤に変更したい場合は、setting.py モジュールを編集するだけです。(背景は一例です。任意の **kwargs を簡単に変更したい)
これを行うためのより良い方法があると確信しており、ラッパークラスのすべてのウィジェットをオーバーライドせずに、どこかでデフォルトのウィジェット値を設定できます...