【Python】TkinterでCombobox(コンボボックス)を使う方法|リストから選択できるプルダウンを作成

使用環境

  • 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アプリケーションにおいて、ユーザーが選択肢から簡単に選べるようにするために、
非常に便利なコンポーネントです。

ここまでお読みいただき、誠にありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。