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

Python 3.3でttk.Treeviewの列幅とstretch(伸縮)設定を変更する方法

Tkinterアプリケーションで大量のデータを表示したい場合、Treeviewウィジェットを利用すると便利です。通常、データは行と列から構成される表形式で表現されますが、Treeviewウィジェットを使えば、このような表形式のデータを簡単に画面上へ追加できます。

Treeviewウィジェットの列幅を設定するには、widthプロパティとstretchプロパティを使用します。widthに指定した値がそのまま列の幅として適用され、さらにstretch=NOを指定することで、ウィンドウやウィジェットがリサイズされた際に列が自動的に伸縮しないように制御できます。

サンプルコード

以下の例では、プログラミング言語の一覧を含む表を作成しています。「ID」列と「Programming Language」列の幅は内容に合わせて設定されており、必要に応じて任意の値を指定して列幅を調整することも可能です。

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

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

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

# Styleウィジェットのインスタンスを作成
style = ttk.Style()
style.theme_use('clam')

# Treeviewウィジェットを追加
tree = ttk.Treeview(win, columns=("c1", "c2"), show='headings', height=8)
tree.column("#1", anchor=CENTER, stretch=NO, width=100)
tree.heading("#1", text="ID")
tree.column("#2", anchor=CENTER, stretch=NO)
tree.heading("#2", text="Programming Language")

# Treeviewウィジェットにデータを挿入
tree.insert('', 'end', values=('1', 'C++'))
tree.insert('', 'end', values=('2', 'Java'))
tree.insert('', 'end', values=('3', 'Python'))
tree.insert('', 'end', values=('4', 'Golang'))
tree.insert('', 'end', values=('5', 'JavaScript'))
tree.insert('', 'end', values=('6', 'C#'))
tree.insert('', 'end', values=('7', 'Rust'))
tree.insert('', 'end', values=('8', 'SQL'))

tree.pack()
win.mainloop()

ポイント解説

  • width:列の幅をピクセル単位で指定します。上記の例では「ID」列にwidth=100を設定しています。
  • stretch:デフォルトはYESで、ウィジェットのサイズ変更に合わせて列も伸縮します。NOを指定すると固定幅になり、レイアウトが崩れにくくなります。
  • anchor:セル内のテキストの配置位置を指定します。ここでは中央揃え(CENTER)にしています。

実行結果

上記のコードを実行すると、プログラミング言語の一覧と対応するインデックス番号を含む表が表示されます。各列は指定した幅で固定され、ウィンドウをリサイズしても列幅は変化しません。

  1. 【Python/ttk】Treeviewウィジェットの見出しスタイルをカスタマイズする方法

    PythonのTreeviewウィジェットは、アプリケーション内に表形式(テーブル風)のGUIを作成するために用意されたウィジェットです。行や列の追加、スクロール表示など多くの機能が組み込まれていますが、見た目(スタイル)を細かくカスタマイズしたい場合は、ttkのテーマ付きウィジェットとStyleクラスを利用するのが基本となります。 本記事では、ttk.Styleを使ってTreeviewウィジェットの見出し(ヘッダー)部分の背景色や文字色などを変更する方法を、サンプルコード付きでわかりやすく解説します。 見出しスタイルを変更する基本的な流れ Treeviewの見出しスタイルは、スタイル名「Tr

  2. Windowsターミナルのウィンドウサイズ(高さ・幅)をデフォルトで変更する方法

    Windowsターミナルを日常的に使っている方なら、その使用頻度の高さを実感していることでしょう。ターミナルを開くたびに、毎回ウィンドウサイズを調整していませんか?小さすぎたり大きすぎたりと、デフォルトのサイズが自分に合っていないケースは少なくありません。マウスでドラッグすれば一時的に調整できますが、あらかじめ好みのサイズを設定しておけば、起動するたびに自動的にその寸法で開くようになり、はるかに便利です。本記事では、Windows 11/10においてWindowsターミナルのデフォルトの高さと幅を変更する方法を詳しく解説します。 Windowsターミナルのデフォルトの高さと幅を変更する方法 こ