使用環境
- OS:Windows 10 Pro(バージョン:20H2)
- 言語:Python(tkinterライブラリ)
経緯
PythonでGUIアプリケーションを作成する際、
プルダウンメニューのようなリストから選択できる部品を作りたいと考え、
TkinterのComboboxについて学びました。
解決方法:ttk.Comboboxを使う
Tkinterでは、ttk
モジュール内に用意されている**Combobox
クラス**を使うことで、
プルダウン型のリスト選択が簡単に実装できます。
コード例(基本的なComboboxの作成)
from tkinter import *
from tkinter import ttk
root = Tk()
root.title("Combobox Example")
frame = ttk.Frame(root, padding=10)
frame.grid()
maker = ["松下", "日立", "東芝", "ソニー", "シャープ"]
v = StringVar()
cb_m = ttk.Combobox(frame, textvariable=v, values=maker, width=17)
cb_m.set(maker[0])
cb_m.grid(row=0, column=0)
root.mainloop()
コード解説
- 1~2行目:Tkinter本体と、拡張モジュール
ttk
をインポートします。 - 4~6行目:メインウィンドウ(root)と、その中にフレーム(frame)を作成します。
- 8行目:Comboboxに表示するリスト(メーカー名)を作成します。
- 10行目:選択された値を保持するための変数(
StringVar
型)を用意します。 - 11行目:Comboboxを作成し、リスト(
values=maker
)と紐付けます。幅(width)もここで指定します。 - 12行目:Comboboxの初期表示値を設定します。(リストの最初の要素をセット)
- 13行目:Comboboxの配置(grid)を設定します。
- 15行目:メインループを開始します。
ポイントまとめ
- **
ttk.Combobox
**は、リストから選択できるプルダウンメニューを簡単に作成できます。 - 初期値を設定しないと、Comboboxは空白状態になります。
set()
で指定しておくと親切です。 - 選択された値は、
StringVar
型の変数から取り出すことができます。
まとめ
PythonでTkinterを使って、プルダウンリストを作成したい場合は、
from tkinter import ttk
ttk.Combobox
を使うvalues
にリストを渡して設定する
という流れで簡単に実装できます。
GUIアプリケーションにおいて、ユーザーが選択肢から簡単に選べるようにするために、
非常に便利なコンポーネントです。
ここまでお読みいただき、誠にありがとうございました。