Listboxウィジェットを使ってみよう
今回はListboxウィジェットを使って、リストボックスを表示してみましょう。
リストボックスとは、複数の候補の中から一つあるいは複数の項目を選択することができる部品です。
Listboxウィジェットの書式
Listboxウィジェットの使い方は、以下の通りです。
※ tkinterを別名でインポートした場合は、tkinterの部分を別名にしてください。
オブジェクト名 = tkinter.Listbox(master=親ウィジェット, オプション)
第1引数はListboxウィジェットの親ウィジェットを指定します。
また、masterは省略することができます。
Listboxウィジェットで使うオプション
Listboxウィジェットで使う主なオプションは、以下の通りです。
オプション名 | 内容 | |
font | 使用するフォント *1 | |
fg/foreground | リストボックスに表示する文字の色 *2 | |
bg/background | 背景の色 *2 | |
bd/borderwidth | リストボックスの枠の幅 | |
height | リストボックスに表示される行数。デフォルトは10 | |
width | リストボックスの1行の文字数。デフォルトは20 | |
relief | リストボックスの形状。flat、raised、sunken、groove、ridgeを指定。デフォルトはflat *3 | |
selectmode | 選択のモード。デフォルトはBROWSE | |
BROWSE | 1行のみ選択可能。マウスでクリックやドラッグすることで選択範囲を移動。 | |
SINGLE | 1行のみ選択可能。マウスでクリックすることで選択範囲を移動 | |
MULTIPLE | 複数行選択可能。マウスでクリックすると選択を切り替える | |
EXTENDED | 複数行選択可能。最初の行をマウスでクリックしてそのままドラッグするとまとめて選択可能 |
*1 指定できるフォントは、tkinter.font.families()で確認できます。
*2 色の指定にはred、green、blueなどのカラー名や先頭に#(シャープ)を付けた16進数が使えます。
*3 リストボックスの形状は、以下の画像のようになります。
Listboxウィジェットに要素を追加する
Listboxウィジェットに要素を追加するやり方は、以下の通りです。
オブジェクト名.insert(インデックス, 要素)
インデックスはリストボックスに追加する位置です。
ENDを使うと、リストボックスの最後に追加します。
Listboxウィジェットを使ったプログラム
Listboxウィジェットを使ったプログラムは、以下のようになります。
リストボックスに5つの要素を設定しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
### インポート import tkinter ### メイン画面作成 main = tkinter.Tk() ### 画面サイズ設定 main.geometry("640x400") ### 画面色設定 main.configure(bg="lime") ### リストボックス listbox = tkinter.Listbox(master=main, font=("HG丸ゴシックM-PRO",24), bg="yellow", height=5) for name in ("明治", "大正", "昭和", "平成", "令和"): listbox.insert(tkinter.END, name) ### リストボックス配置 listbox.pack(pady=20) ### イベントループ main.mainloop() |
プログラムを実行すると、以下のような画面が表示されます。