このホームページは Amazon Kindle 本の作成中の草稿です。日々、原稿を見直しているので、内容が変わることに留意して読んで下さい。本が出版され次第、このホームページは削除されます。
4.25 デフォルトカラーの変更(tk_setPalette)
ラベルフレームの背景色やハイライトの色はオプションで指定しない場合、システムが設定したデフォルトの色が適用されます。このデフォルトの色はフレームと同様に Misc クラスの「tk_setPalette」メソッドで変更することができます。3.22 デフォルトカラーの変更を参照して下さい。
次のプログラムは、ラベルフレームのオプションの「background」、「highlightcolor」、「highlightbackground」のデフォルト値をそれぞれ「red」、「yellow」、「green」に変更して設定しています。
import tkinter as tk | |
root = tk.Tk() | |
root.geometry('300x200+100+100') | dcnf = {'width':120, 'height':160, |
'bd':10, 'relief':'ridge', | |
'highlightthickness':10, | |
'takefocus':True} | |
labelframe = tk.LabelFrame(root, cnf=dcnf, text='labelframe_1') | |
labelframe.place(x=20, y=20) | |
labelframe.tk_setPalette(background='red', | |
highlightColor='yellow', | |
highlightBackground='green') | |
labelframe2 = tk.LabelFrame(root, cnf=dcnf, text='labelframe_2') | |
labelframe2.place(x=160, y=20) | |
root.mainloop() |
このプログラムを実行すると、下図のように、メインウィンドウを含めて背景が赤色の 2 つのラベルフレームを持つウィンドウが表示されます。「Tab」キーでラベルフレームへのフォーカスが移動し、フォーカスを持つラベルフレームはハイライト枠の色が黄色で表示されます。