Tkinterウィジェットの境界線の色を設定・変更する方法をわかりやすく解説
Tkinterアプリケーションを開発していると、ウィジェットの境界線(ボーダー)の色を変更したくなることがあります。実は、highlightbackground や highlightcolor といったプロパティを設定するだけで、簡単に境界線の色をカスタマイズできます。
これらのプロパティは、ウィジェットにフォーカスがあるかどうかに応じて使い分けられます。highlightbackground はフォーカスがないときの境界線の色、highlightcolor はフォーカスがあるときの境界線の色を指定します。また、highlightthickness を設定すると、境界線の太さも調整可能です。
サンプルコード
以下の例では、Entry(テキスト入力)ウィジェットを作成し、「Change」ボタンをクリックすると、その境界線の色が赤に変化する仕組みを実装しています。
# 必要なライブラリをインポート
from tkinter import *
# tkinterフレームのインスタンスを作成
win = Tk()
# フレームのサイズを設定
win.geometry("600x250")
# Entryウィジェットの境界線の色を変更する関数を定義
def change_color():
text.config(highlightthickness=2, highlightbackground="red")
# 境界線の色を変更したいEntryウィジェットを作成
text = Entry(win, width=50)
text.pack()
# ボタンウィジェットを作成
button = Button(win, text="Change", command=change_color)
button.pack(pady=20)
win.mainloop()実行結果
上記のコードを実行すると、Entryウィジェットと「Change」ボタンが配置されたウィンドウが表示されます。この状態では、まだ境界線はデフォルトの色のままです。

ここで「Change」ボタンをクリックしてみましょう。すると、change_color 関数が呼び出され、Entryウィジェットの境界線が赤色に変化します。

ポイントのまとめ
- highlightbackground:ウィジェットがフォーカスを持っていないときの境界線の色
- highlightcolor:ウィジェットがフォーカスを持っているときの境界線の色
- highlightthickness:境界線の太さ(ピクセル単位)。0より大きい値を指定しないと境界線が表示されない場合があります
このように、config メソッドを使えばプログラムの実行中にも動的にスタイルを変更できるため、ユーザーの操作に応じた視覚的なフィードバックを実装する際に非常に便利です。ぜひ自分のアプリケーションでも活用してみてください。
-
Python Tkinterでラベルウィジェットのテキストサイズを変更する方法
TkinterのLabelウィジェットは、ウィンドウ内にテキストラベルを表示するための基本的な部品です。ウィジェットの見た目はtkinter.ttkパッケージを使ってカスタマイズすることもできます。ラベルのフォントサイズ・フォントファミリー・フォントスタイルを変更したい場合は、組み込みプロパティであるfont(フォントファミリー スタイル, サイズ)を利用します。 フォント設定の基本 fontオプションには、タプル形式で「(フォント名, サイズ)」または「(フォント名, サイズ, スタイル)」を指定します。例えば font=(Helvetica, 20, bold) のように書くことで、太字
-
Tkinterでテキストウィジェット内の特定の単語の色を変更する方法
Tkinterのテキストウィジェット(Textウィジェット)は、複数行のテキスト入力を作成・表示するためのウィジェットです。テキストウィジェットを柔軟に設定するための、さまざまな関数やメソッドが標準で用意されています。 テキストウィジェット内の特定の単語だけ色を変えたい場合は、tag_add(タグ名, 範囲) メソッドを使って、書式設定したい単語の範囲を選択します。範囲を指定した後、tag_config(プロパティ) メソッドを使用することで、その部分に対して文字色・背景色などのスタイルを自由に適用できます。 実装例 以下の例では、テキストウィジェット内の特定の単語に対して色を設定する方法を紹