【Python GUI tkinterサンプル】複数のttk.Radiobutton(ラジオボタン)をグループ化し値を取得する
使用するオプション
-value
-variable
使い方
valueにラジオボタンが押されたときの値を指定し、variableにvalueに対応した制御変数を与えることで値を取得できる。
他ラジオボタンと制御変数を共通にすることでグループ化ができる。
2種類のラジオボタン”yes”,”no”をグループ化し、結果をラベルに出力したときのサンプル画像
yesが押されているとき
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()