tkinter

Python tkinter 007

ラジオボタンの使用

前回の続きです。
今回はtkinterを使用したラジオボタンについて見ていきます。

tk.Radiobutton()
オプションvariableはラジオのチェック制御とグループを定義します。
variableに同じ変数を設定することで、グループ化させることができます。

オプションvalueはラジオボタンごとの識別キーになりますので基本的には異なる値を設定します。

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

IntまたはStringまたはBoolean型のtkinterVarの変数を作成し、
set(1)はこの変数をvariableに設定した場合、”value=1″のラジオボタンを選択状態にします。

また、選択されているラジオボタンの値(value)を取得する場合はget()で取得できます。

import tkinter as tk

def btn_click():
    label["text"] = 'ボタンが押されました。'

def btn_click2():
    index = listbox1.curselection()[0] #選択中項目の取得
    print(listbox1.get(index))

def btn_click3():
    print(listbox_m.curselection()) #選択項目全取得(インデックス)
    

root = tk.Tk()
root.geometry("400x300")

#####002 テキストボックス#####
textbox = tk.Entry(width=20)
textbox.pack() #配置
textbox.insert(tk.END, "文字の入力")
print(textbox.get()) #テキストボックスの入力値取得
textbox.delete(0,tk.END)


#####003 ラベル#####
label = tk.Label(text='ラベル')
label.pack()
label["text"] = 'ラベル!' #ラベルの値変更

#####004 ボタン#####
btn = tk.Button(text='ボタン',command=btn_click)
btn.pack()

#####005 チェックボックス#####
chk1 = tk.BooleanVar() 
chk1.set(True)
chk2 = tk.BooleanVar() 
chk2.set(False)
chk3 = tk.BooleanVar() 
chk3.set(True)

chkbox1 = tk.Checkbutton(text='check1',variable=chk1)
chkbox1.pack()

chkbox2 = tk.Checkbutton(text='check2',variable=chk2)
chkbox2.pack()

chkbox3 = tk.Checkbutton(text='check3',variable=chk3)
chkbox3.pack()

print(chk1.get())
print(chk2.get())
print(chk3.get())

#####006 リストボックス#####
var = tk.StringVar(value=('test','test2','test3','test4'))
listbox1 = tk.Listbox(listvariable=var)
listbox1.pack()
btn2 = tk.Button(text='選択項目の取得',command=btn_click2)
btn2.pack()

listbox_m = tk.Listbox(listvariable=var,selectmode="multiple")
listbox_m.pack()
btn3 = tk.Button(text='選択項目の取得(複数)',command=btn_click3)
btn3.pack()


#####007 ラジオボタン#####
val =tk.IntVar()
val.set(1)

radio1 = tk.Radiobutton(text="radio1",variable = val,value=0)
radio1.pack()
radio2 = tk.Radiobutton(text="radio2",variable = val,value=1)
radio2.pack()

print(val.get()) #選択されている項目の取得


root.mainloop()