
【スポンサーリンク】
Listboxの概要
Listboxはアイテムリストを表示するためのウィジェットで、ユーザーが自由に項目を選択することができる。以下、Easy, Normal, Hardの3項目をListboxに表示し、クリックすると選択した項目の値をprint出力する例を示す。
import tkinter #項目選択時に実行する関数 def show_selected(event): n = lb.curselection() #選択項目のindex取得 print(lb.get(n)) #indexを用いて値を取得 root = tkinter.Tk() #Listboxの生成 lb = tkinter.Listbox(root) lb.insert(0, "Easy") #insert(index, 値) lb.insert(1, "Normal") lb.insert(2, "Hard") #項目選択時にshow_selectedを実行 lb.bind( "<<ListboxSelect>>", show_selected, ) lb.pack() root.mainloop()
Listboxの項目には0から始まる整数値のindexが割り振られ、insertメソッドにindexと値を渡すことで項目を設定することができる。以下、実行した結果を示す。

【スポンサーリンク】
選択した値をLabelに表示
選択した値をLabelに表示させる例を示す。
import tkinter #項目選択時に実行する関数 def show_selected(event): n = lb.curselection() #選択項目のindex取得 var.set(lb.get(n)) #indexを用いて値を取得し、varにセット root = tkinter.Tk() #選択した値を格納する変数 var = tkinter.StringVar(root) #表示用ラベル l = tkinter.Label( root, textvariable=var, #選択した値 width=15, ) l.pack() #Listboxの生成 lb = tkinter.Listbox(root) value_list = ["Easy", "Normal", "Hard"] #値のリスト for v in value_list: lb.insert(tkinter.END, v) #値をセット #項目選択時にshow_selectedを実行 lb.bind( "<<ListboxSelect>>", show_selected, ) lb.pack() root.mainloop()
実行した結果を以下に示す。Listboxで選択した項目の値がLabelに表示される。上記の例では、表示する値をリスト化しておき、for文を用いて各値をListboxに設定している。insertメソッドのindexをtkinter.ENDにすることで、

【スポンサーリンク】
オプション・メソッド
主なオプション・メソッド | 動作 | background(bg) | 背景色(green, black, yellow, cyan, magenta, red, blue, white等) |
---|---|
borderwidth(bd) | 境界幅 |
relief | 縁の3D表示設定(flat, raised, sunken, groove, ridge) |
foreground(fg) | 文字の色の設定(green, black, yellow, cyan, magenta, red, blue, white等) |
font | フォントの設定(Times, Helvetica等) |
.delete(index) | 入力したindexの項目の削除 |
.curselection() | 選択中の項目のindexを取得 |
.get(index) | 入力したindexの値を取得 |
.insert(index, 値) | 入力したindexに値を設定(リストの最後に追加する場合はtkinter.END) |
【スポンサーリンク】