PythonのGUIライブラリ「Tkinter」には、ユーザーに選択肢を与えるための便利なウィジェットがいくつか用意されています。今回は、「ラジオボタン(Radiobutton)」「リストボックス(Listbox)」「コンボボックス(Combobox)」 の使い方を詳しく解説します!
1. ラジオボタン(Radiobutton) – 1つの選択肢を選ぶ
ラジオボタンとは?
ラジオボタンは、複数の選択肢の中から1つだけを選択できるボタン です。例えば、性別の選択やアンケートなどでよく使われます。
ラジオボタンの作り方
Tkinterでラジオボタンを作るには、Radiobutton
ウィジェットを使います。
以下のコードでは、2つの選択肢を持つラジオボタンを作成しています。
from tkinter import Tk, Radiobutton, IntVar
root = Tk()
var = IntVar() # 選択された値を管理する変数
radio1 = Radiobutton(root, text="選択肢1", variable=var, value=1)
radio2 = Radiobutton(root, text="選択肢2", variable=var, value=2)
radio1.pack()
radio2.pack()
root.mainloop()
解説
IntVar()
を使って選択された値を格納する変数を作成。Radiobutton
にvariable=var
を設定することで、どのボタンが選ばれたかを管理。value
に各ボタンの値を設定し、選ばれるとvar
にその値が格納される。
選択された値を取得する方法
ラジオボタンで選択された値を取得するには、get()
メソッドを使います。
選ばれた値 = var.get()
print(選ばれた値) # 1または2が出力される
2. リストボックス(Listbox) – 複数の選択肢を表示
リストボックスとは?
リストボックスは、複数の選択肢をリスト形式で表示し、その中から1つまたは複数を選択できるウィジェット です。ファイル選択やカテゴリ選択などに使われます。
リストボックスの作り方
以下のコードでは、3つの選択肢を持つリストボックスを作成しています。
from tkinter import Tk, Listbox
root = Tk()
listbox = Listbox(root)
listbox.insert(1, "選択肢1")
listbox.insert(2, "選択肢2")
listbox.insert(3, "選択肢3")
listbox.pack()
root.mainloop()
選択された項目を取得する方法
リストボックスで選択された項目を取得するには、curselection()
を使います。
選ばれた項目 = listbox.curselection()
print(選ばれた項目) # 選択された項目のインデックスが出力される
例えば、「選択肢2」が選ばれた場合、(1,)
というタプルが返ります。
複数選択を可能にする
リストボックスでは、selectmode=MULTIPLE
を設定すると、複数の選択が可能になります。
listbox = Listbox(root, selectmode="multiple")
3. コンボボックス(Combobox) – ドロップダウンで選択 & 入力
コンボボックスとは?
コンボボックスは、ドロップダウンリストとテキスト入力を組み合わせたウィジェット です。ユーザーはリストから選ぶこともできますし、自分で入力することもできます。
コンボボックスの作り方
コンボボックスは、Tkinterの拡張モジュール ttk
を使って作成します。
from tkinter import Tk
from tkinter import ttk # ttkモジュールをインポート
root = Tk()
combobox = ttk.Combobox(root, values=["選択肢1", "選択肢2", "選択肢3"])
combobox.pack()
root.mainloop()
選択された値を取得する方法
コンボボックスで選択された値を取得するには、get()
メソッドを使います。
選ばれた値 = combobox.get()
print(選ばれた値) # 選択されたテキストが出力される
まとめ
ウィジェット | 特徴 | 主な用途 |
---|---|---|
ラジオボタン | 複数の選択肢から1つだけ選択 | 性別選択、アンケート |
リストボックス | 複数の選択肢をリスト表示し、1つまたは複数を選択 | ファイル選択、カテゴリ選択 |
コンボボックス | ドロップダウンで選択 & 入力可能 | フォーム入力、設定変更 |
このように、それぞれのウィジェットには得意な使い方があります。アプリの目的に合わせて、適切なウィジェットを使い分けましょう!
次のステップ
この知識を活かして、実際にラジオボタンやリストボックスを使ったGUIアプリを作ってみましょう!
次回は、さらに便利なウィジェットの使い方を紹介しますので、お楽しみに!
→ Tkinterの他のウィジェットについてもっと知りたい?次の記事もチェック! 🎉