TkinterでTreeviewの背景色を変更する方法をわかりやすく解説
Treeviewウィジェットは、データを階層構造で表示するために設計されたtkinterの標準ウィジェットです。ディレクトリや子フォルダ、ファイルなどをリスト形式で整理して表示できるため、ファイルエクスプローラーのようなUIを作る際によく使われます。
Treeviewはttkモジュールに属するウィジェットのため、通常のtkウィジェットのようにコンストラクタへ直接オプションを渡すだけでは背景色を変更できません。背景色を変えるには、ttk.Styleクラスを使ってスタイルを設定します。
Treeviewの背景色を変更する基本の手順
Styleオブジェクトのconfigure()メソッドを使い、「Treeview」というスタイル名に対して以下のプロパティを定義します。
- background: 各行(アイテム)の背景色
- fieldbackground: ツリー領域全体の背景色
- foreground: 文字色
さらにmap()メソッドを使えば、マウスで選択したときの背景色など、状態ごとの色分けも可能です。
サンプルコード
# 必要なライブラリをインポート
import tkinter as tk
from tkinter import ttk
# ウィンドウのインスタンスを作成
win = tk.Tk()
# ウィンドウサイズを設定
win.geometry("700x350")
# Styleオブジェクトを作成し、Treeviewの配色を設定
style = ttk.Style(win)
style.configure("Treeview",
background="purple4",
fieldbackground="purple4",
foreground="white",
rowheight=28,
font=('Times', 13))
# 見出し(ヘッダー)部分のスタイルも設定
style.configure("Treeview.Heading",
background="black",
foreground="white")
# 選択中の行の背景色を黒に変更
style.map("Treeview",
background=[("selected", "black")])
# Treeviewウィジェットを作成
tree = ttk.Treeview(win, show="tree headings")
tree.heading("#0", text="項目一覧")
tree.column("#0", width=400)
# リストに項目を追加
items = ["item1", "item2", "item3", "item4", "item5"]
for item in items:
tree.insert("", "end", text=item)
tree.pack(fill="both", expand=True)
win.mainloop()実行結果
上記のコードを実行すると、紫(purple4)を基調とした背景色のTreeviewウィジェットが表示され、白い文字で項目が並びます。ヘッダー部分は黒背景・白文字になり、任意の行をクリックして選択すると、その行だけ背景が黒色に切り替わります。
ポイントまとめ
- ttkウィジェットの外観はttk.Styleで統一的に管理される
- 行とツリー領域それぞれにbackgroundとfieldbackgroundを指定すると見た目のむらを防げる
- style.map()を使うと選択状態やホバー状態に応じた動的な色変更が実現できる
-
【iOS】メモアプリの背景色を変更する方法|ライト/ダーク切り替えと罫線・グリッド設定も解説
iOSの標準「メモ」アプリを使っていると、背景が端末全体の表示設定に自動的に連動してしまう点に不便さを感じることがあります。ライトモードが有効なときは明るい背景に、ダークモードのときは暗い背景になり、個別にコントロールできないように見えます。しかし実は、iOSではメモごとの背景色を簡単に変更できます。この記事では、特定のメモだけ背景を変える方法、すべてのメモに一括で適用する方法、さらに罫線やグリッド背景を追加するカスタマイズ術まで、わかりやすく解説します。注意:メモアプリで異なる背景を設定するには、端末がiOS 13 / iPadOS 13以降である必要があります。古いバージョンをお使いの場合
-
Instagramストーリーの背景色を変更する5つの方法を徹底解説
Instagramは、SNS好きにとって魅力的なプラットフォームです。撮影した写真の披露から、一人旅の思い出のスナップ共有まで、あらゆる用途にぴったりの媒体となっています。独自の豊富な機能、洗練されたインターフェース、そして無限の可能性により、特に若い世代を中心に絶大な人気を誇っています。画像や動画の共有、ストーリーの作成、新しい人とのつながり、発信力の拡大など、さまざまな使い方ができる万能アプリです。2012年にFacebook(現Meta)に買収されて以来、世界中で10億人以上のアクティブユーザーを抱えるまでに成長しました。 本記事では、Instagramの人気機能である「Instagr