このホームページは Amazon Kindle 本の作成中の草稿です。日々、原稿を見直しているので、内容が変わることに留意して読んで下さい。本が出版され次第、このホームページは削除されます。
2.34 デフォルトカラーの変更(tk_setPalette)
ウィンドウの背景色やハイライトの色はオプションで指定しない場合、システムが設定したデフォルトの色が適用されます。このデフォルトの色はメインウィンドウと同様に Misc クラスの「tk_setPalette」メソッドで変更することができます。1.30 デフォルトカラーの変更を参照して下さい。
次のプログラムは、サブウィンドウのオプションの「background」、「highlightColor」、「highlightBackground」のデフォルト値をそれぞれ「red」、「yellow」、「green」に変更して設定しています。
import tkinter as tk | |
root = tk.Tk() | |
root.geometry('300x200+100+100') | |
sub = tk.Toplevel(root, width=300, height=200, | |
bd=10, relief='ridge', highlightthickness=10) | |
sub.geometry('+140+120') | |
sub.tk_setPalette(background='red', | |
highlightColor='yellow', | |
highlightBackground='green') | |
root.update() | |
root.wm_deiconify() | |
sub.wm_deiconify() | |
root.mainloop() |
このプログラムを実行すると、メインウィンドウを含めてウィンドウの背景が赤色で表示されます。サブウィンドウがアクティブ状態のとき、下図の左のように黄色のハイライト枠を持つウィンドウが表示されます。サブウィンドウが他のウィンドウの背後になるなどして非アクティブ状態になると、下図の右のようにハイライト枠が緑色に変わります。