このホームページは Amazon Kindle 本の作成中の草稿です。日々、原稿を見直しているので、内容が変わることに留意して読んで下さい。本が出版され次第、このホームページは削除されます。
1. 8 ハイライト( highlightthickness、highlightcolor、highlightbackground)
ウィンドウのアクティブ状態の強調表示にハイライト枠を設定することができます。ハイライト枠はクライアント領域の内側で境界枠の外側に設定されます。枠幅の設定は「標準オプション」の「highlightthickness」オプションを用います。デフォルトでは「0」ピクセルが設定されていて、枠は設定されていません。
アクティブ状態の強調表示の色は「標準オプション」の「highlightcolor」、非アクティブ状態の強調表示の色は「標準オプション」の「highlightbackground」オプションに設定します。
ハイライト枠を設定してもウィンドウのサイズは変更されません。クライアント領域の座標系は 1.7 項のパッディングの内側に設定されます。ウィジェットはハイライト枠を含めてクライアント領域の全域に設定することができます。
次のプログラムは境界枠の幅が「10」ピクセル、形状が「ridge」のウィンドウに、ハイライト枠を設定しています。枠幅を「10」ピクセル、アクティブ状態の色を「yellow」、非アクティブ状態の色を「red」に設定しています。
import tkinter as tk | |
root = tk.Tk() | |
root.config(width=300, height=200, | |
bg='blue', | |
bd=10, relief='ridge', | |
highlightthickness=10, | |
highlightcolor='yellow', | |
highlightbackground='red') | |
root.mainloop() |
このプログラムを実行すると、ウィンドウがアクティブ状態のとき、下図の左のように黄色のハイライト枠を持つウィンドウが表示されます。ウィンドウが他のウィンドウの背後になるなどして非アクティブ状態になると、下図の右のようにハイライト枠が赤色に変わります。
