Python
 Computer >> コンピューター >  >> プログラミング >> Python

Tkinterでリストボックスの色を完全に変更する方法

Tkinterのリストボックス(Listbox)ウィジェットは、大量のデータ項目をリスト形式で表示したい場合に非常に便利なUI部品です。

リストボックス全体の背景色や文字色を変更するなど、外観に関するプロパティを設定したい場合は、configure(**options)メソッドを使用します。このメソッドにオプションを渡すことで、ウィジェットのさまざまなプロパティを動的に変更できます。

サンプルコード

以下は、リストボックスの背景色・文字色・フォントを一括して変更する例です。

# 必要なライブラリをインポート
from tkinter import *

# tkinterフレーム(ウィンドウ)のインスタンスを作成
win = Tk()

# ウィンドウのサイズを設定
win.geometry("700x350")

# プログラミング言語名をリスト項目としてListboxウィジェットを追加
listbox = Listbox(win)
listbox.insert(END, "C++", "Java", "Python", "Rust", "GoLang", "Ruby", "JavaScript", "C#", "SQL", "Dart")
listbox.pack(side=LEFT, fill=BOTH)

# configure()メソッドで背景色・文字色・フォントを変更
listbox.configure(background="skyblue4", foreground="white", font=('Aerial 13'))

win.mainloop()

コードのポイント

色の変更に関わる重要な部分は次の1行です。

listbox.configure(background="skyblue4", foreground="white", font=('Aerial 13'))
  • background:リストボックス全体の背景色を指定します(Tkinterの色名または16進数カラーコードが使用可能)。
  • foreground:リスト項目の文字色を指定します。
  • font:フォントファミリーとサイズをタプル形式で指定します。

実行結果

上記のコードを実行すると、水色の背景に白い文字で表示されたカスタマイズ済みのリストボックスが画面左側に現れ、複数のプログラミング言語名がリスト項目として並んで表示されます。

Tkinterでリストボックスの色を完全に変更する方法

なお、選択中の項目の色を個別に変えたい場合は、selectbackgroundselectforegroundオプションも併せて指定すると、より見やすいリストボックスを作成できます。

  1. Tkinterウィジェットの境界線の色を設定・変更する方法をわかりやすく解説

    Tkinterアプリケーションを開発していると、ウィジェットの境界線(ボーダー)の色を変更したくなることがあります。実は、highlightbackground や highlightcolor といったプロパティを設定するだけで、簡単に境界線の色をカスタマイズできます。これらのプロパティは、ウィジェットにフォーカスがあるかどうかに応じて使い分けられます。highlightbackground はフォーカスがないときの境界線の色、highlightcolor はフォーカスがあるときの境界線の色を指定します。また、highlightthickness を設定すると、境界線の太さも調整可能です。サ

  2. Tkinterのリストボックスで選択した複数の項目を一括削除する方法

    はじめに TkinterのListboxウィジェットでリストボックスを作成した際、ユーザーが選択した複数の項目をまとめて削除したいケースはよくあります。本記事では、その実装方法をサンプルコードとともにわかりやすく解説します。 複数選択を有効にするには デフォルト設定のリストボックスでは、1つの項目しか選択できません。複数の項目を選択できるようにするには、selectmodeオプションにMULTIPLEを指定します。 削除処理のポイントは、curselection()メソッドで現在選択されている項目のインデックスを取得し、後ろのインデックスから順番にdelete()メソッドを呼び出すことです。