このホームページは Amazon Kindle 本の作成中の草稿です。日々、原稿を見直しているので、内容が変わることに留意して読んで下さい。本が出版され次第、このホームページは削除されます。
4. 8 フォーカスとハイライト( takefocus、highlightthickness、highlightcolor、highlightbackground)
ラベルフレームはフレームと同様にキー入力を受け付けるフォーカスを受け取ることができます。3.8 フォーカスとハイライトを参照して下さい。
ラベルフレームがフォーカスを持つときの強調表示にフレームと同様にハイライト枠を設定することができます。3.8 フォーカスとハイライトを参照して下さい。
次のプログラムは境界枠の幅が「10」ピクセル、形状が「ridge」のフレームに、ハイライト枠を設定しています。枠幅を「10」ピクセル、フォーカスを持つときの色を「yellow」、フォーカスを持たないときの色を「green」に設定しています。「text」オプションに文字列「labelframe」を設定しています。テキストの設定については 4.x テキスト?を参照して下さい。フォーカスを持たないときと持ったときのフレームの状態を表示するために、同じフレームを 2 つ作成して並べて表示しています。
import tkinter as tk | |
root = tk.Tk() | |
root.geometry('300x200+100+100') | |
dcnf = {'width':100, 'height':160, | |
'bg':'red', 'text':'labelframe', | |
'bd':10, 'relief':'ridge', | |
'highlightthickness':10, | |
'highlightcolor':'yellow', | |
'highlightbackground':'green', | |
'takefocus':True} | |
labelframe = tk.LabelFrame(root, cnf=dcnf) | |
labelframe.place(x=20, y=20) | |
labelframe2 = tk.LabelFrame(root, cnf=dcnf) | |
labelframe2.place(x=160, y=20) | |
root.mainloop() |
このプログラムを実行すると、下図のように 2 つのラベルフレームが表示され「Tab」キーでフォーカスが移動します。フォーカスを持つラベルフレームはハイライト枠の色が黄色で表示されます。