【Python GUI tkinterサンプル】複数のttk.Radiobutton(ラジオボタン)をグループ化し値を取得する

<tkinterトップページに戻る>

使用するオプション

-value

-variable

使い方

valueにラジオボタンが押されたときの値を指定し、variableにvalueに対応した制御変数を与えることで値を取得できる。

他ラジオボタンと制御変数を共通にすることでグループ化ができる。

2種類のラジオボタン”yes”,”no”をグループ化し、結果をラベルに出力したときのサンプル画像

yesが押されているとき

radiobutton_yes

noが押されているとき

radiobutton_no

サンプルコード

from tkinter import *
import tkinter.ttk as ttk

class RadioButtonSampleValue(ttk.Frame):
    def __init__(self, master):
        super().__init__(master)
        # 初期値はyesが押された状態にする
        self.str_var = StringVar(value="yes")
        self.create_widgets()
        self.pack()


    def create_widgets(self):

        valueLabel = ttk.Label(self,textvariable=self.str_var)
        valueLabel.pack()

        yesRadio = ttk.Radiobutton(self,text = "yes",value="yes",variable=self.str_var)
        yesRadio.pack(side="left")
        noRadio = ttk.Radiobutton(self,text = "no",value="no",variable=self.str_var)
        noRadio.pack(side="left")


if __name__ == '__main__':
    master = Tk()
    master.title("RadioButtonSample")
    master.geometry("300x50")
    RadioButtonSampleValue(master)
    master.mainloop()

あわせて読みたい