Python Tkinterのラジオボタンとは?使い方・サンプルコード付き解説

Python Tkinterのラジオボタンとは?使い方・サンプルコード付き解説

PythonのGUIライブラリ「Tkinter」には、ユーザーが複数の選択肢から1つを選ぶための「ラジオボタン(Radio Button)」というウィジェットがあります。本記事では、Tkinterのラジオボタンの基本的な使い方から応用例までを、サンプルコードとともに分かりやすく解説します。

Python Tkinterのラジオボタンとは?

ラジオボタンは、選択肢の中から1つだけを選択できるボタンのことです。チェックボックスとは異なり、複数の選択肢を同時に選ぶことはできません。例えば、性別や支払い方法の選択など、ユーザーが1つだけを選ぶ必要がある場面でよく使われます。

Tkinterでは、Radiobuttonウィジェットを使用してラジオボタンを作成します。このウィジェットを使うことで、Pythonで簡単にGUIアプリに選択肢の機能を追加できます。

Tkinterでラジオボタンを作成する方法

PythonのTkinterでラジオボタンを作成するには、以下のステップを踏みます。

  1. TkinterのTkクラスを使ってウィンドウを作成する
  2. IntVarまたはStringVarを使って選択状態を管理する
  3. Radiobuttonウィジェットを作成し、選択肢を設定する
  4. pack()grid()でレイアウトを整える

基本的なラジオボタンの実装例

import tkinter as tk

# メインウィンドウの作成
root = tk.Tk()
root.title("Tkinterのラジオボタン")
root.geometry("500x500")  # ウィンドウサイズを500x500に設定

# 選択肢を管理する変数を作成
selected_value = tk.IntVar()
selected_value.set(1)  # デフォルトの選択肢を設定

# ラジオボタンの作成
tk.Radiobutton(root, text="選択肢1", variable=selected_value, value=1).pack()
tk.Radiobutton(root, text="選択肢2", variable=selected_value, value=2).pack()
tk.Radiobutton(root, text="選択肢3", variable=selected_value, value=3).pack()

# ウィンドウの表示
root.mainloop()
基本的なラジオボタンの実装例
実行結果

実装のポイント

  • IntVar() は整数値を保持する変数で、どの選択肢が選ばれているかを管理する。
  • RadiobuttonvariableIntVar を設定することで、ボタンの選択状態を共有できる。
  • value に各ボタンの値を設定することで、どのボタンが選択されたかを区別できる。

ラジオボタンの選択値を取得する方法

ラジオボタンで選択された値を取得し、処理を行うには、IntVar.get()を使用します。

選択値を表示するサンプルコード

import tkinter as tk

def show_selected():
    print(f"選択された値: {selected_value.get()}")

root = tk.Tk()
root.title("ラジオボタンの値取得")
root.geometry("500x500")  # ウィンドウサイズを500x500に設定

selected_value = tk.IntVar()
selected_value.set(1)

# ラジオボタン
tk.Radiobutton(root, text="選択肢A", variable=selected_value, value=1).pack()
tk.Radiobutton(root, text="選択肢B", variable=selected_value, value=2).pack()
tk.Radiobutton(root, text="選択肢C", variable=selected_value, value=3).pack()

# ボタン(クリックすると選択値を表示)
tk.Button(root, text="選択肢を表示", command=show_selected).pack()

root.mainloop()
ラジオボタンの選択値を取得する方法
実行結果

コードの解説

  • show_selected() 関数で IntVar.get() を使って選択値を取得。
  • Button ウィジェットを作成し、ボタンがクリックされたら選択値を表示する。

ラジオボタンを使った応用例

ラジオボタンは、ユーザーが1つのオプションを選択するフォームによく使われます。例えば、以下のように、性別を選択するフォームを作成できます。

import tkinter as tk

def submit():
    print(f"選択された性別: {gender.get()}")

root = tk.Tk()
root.title("性別選択フォーム")
root.geometry("500x500")  # ウィンドウサイズを500x500に設定

gender = tk.StringVar()
gender.set("男性")

# ラジオボタン
tk.Radiobutton(root, text="男性", variable=gender, value="男性").pack()
tk.Radiobutton(root, text="女性", variable=gender, value="女性").pack()
tk.Radiobutton(root, text="その他", variable=gender, value="その他").pack()

# 送信ボタン
tk.Button(root, text="送信", command=submit).pack()

root.mainloop()
ラジオボタンを使った応用例
実行結果

まとめ

本記事では、PythonのTkinterを使ってラジオボタンを実装する方法を解説しました。

  • Tkinterのラジオボタンは、ユーザーが複数の選択肢から1つを選べるウィジェット。
  • IntVar または StringVar を使って選択状態を管理する。
  • get() メソッドで選択された値を取得できる。
  • フォームなどのGUIアプリで幅広く活用できる。

ラジオボタンを使って、実用的なGUIアプリを作成してみてください!