Python
 Computer >> コンピューター >  >> プログラミング >> Python

Tkinterでラジオボタンの選択結果を取得する方法

Tkinterのラジオボタンとは

Tkinterのラジオボタン(Radiobutton)ウィジェットは、用意された複数の選択肢の中から、ユーザーに「1つだけ」オプションを選ばせるためのGUI部品です。同じvariable(変数)を共有するラジオボタン同士は自動的にグループ化され、その中でいずれか1つだけが選択状態になります。

ユーザーがどのオプションを選んだのかをプログラム側で確認したい場合は、get()メソッドを使用します。このメソッドは、variableに設定した変数オブジェクトに格納されている現在の値を返します。取得した値は文字列に変換してLabelウィジェットのtext属性に渡すことで、画面上に選択結果を表示できます。

サンプルコード

# 必要なライブラリをインポート
from tkinter import *
from tkinter import ttk

# tkinterフレーム(ウィンドウ)のインスタンスを作成
win = Tk()

# ウィンドウサイズを設定
win.geometry("700x350")

# 選択されたオプションの出力を取得する関数を定義
def selection():
    selected = "You selected the option " + str(radio.get())
    label.config(text=selected)

radio = IntVar()
Label(text="Your Favourite programming language:", font=('Aerial 11')).pack()

# 各選択肢に対応するラジオボタンを定義
r1 = Radiobutton(win, text="C++", variable=radio, value=1, command=selection)
r1.pack(anchor=N)

r2 = Radiobutton(win, text="Python", variable=radio, value=2, command=selection)
r2.pack(anchor=N)

r3 = Radiobutton(win, text="Java", variable=radio, value=3, command=selection)
r3.pack(anchor=N)

# 結果を表示するLabelウィジェットを定義
label = Label(win)
label.pack()

win.mainloop()

コードのポイント解説

  • IntVar(): ラジオボタンの選択状態を保持するための整数型の特殊変数です。各Radiobuttonのvalue属性に異なる整数(1、2、3…)を割り当てることで、どのボタンが選択されたかを数値で判別できます。
  • get()メソッド: 変数に格納されている現在の値を取得します。ここでは、選択されたラジオボタンのvalue値が返されます。
  • commandオプション: ラジオボタンがクリックされるたびにselection()関数が呼び出され、str()で文字列に変換した選択結果がラベルのテキストとして更新されます。

実行結果

上記のコードを実行すると、ラジオボタンが縦に並んだウィンドウが表示されます。任意のオプションをクリックすると、そのたびに選択した内容が下部のラベルに反映されて表示されます。

Tkinterでラジオボタンの選択結果を取得する方法

  1. Tkinterでラベルのテキストを取得する方法を解説

    TkinterのLabel(ラベル)ウィジェットは、ウィンドウ上にテキストや画像を表示するために使用される基本的なコンポーネントです。フォントファミリーやパディング、幅・高さなどのオプションを指定することで、ラベルの見た目を自由にカスタマイズできます。ラベルに設定したテキストを取得したい場合は、ラベルウィジェットに対して [text] を指定するだけで、簡単にその値へアクセスできます。以下に具体的なサンプルコードを示します。サンプルコード# 必要なライブラリをインポート from tkinter import * # tkinterフレームのインスタンスを作成 win = Tk() # ウ

  2. Tkinterでウィジェットを非表示にする方法|pack_forget()の使い方を解説

    Tkinterアプリケーションでウィジェットを一時的に非表示にしたい場合、pack_forget()メソッドを使用します。このメソッドは、ウィンドウ上からウィジェットのマッピングを解除し、画面から見えなくするために広く使われています。pack_forget()メソッドとはpack_forget()は、pack()ジオメトリマネージャーで配置されたウィジェットを非表示にするためのメソッドです。非表示にされたウィジェットは破棄されるわけではなく、再びpack()を呼び出せば元の状態で再表示できるのが特徴です。サンプルコード以下の例では、ラベルテキストとボタンを作成し、ボタンをクリックするとラベルが