Python 入門

ホーム > Tkinter による GUI プログラミング > Checkbutton - Tkinter のウィジェット

Checkbutton - Tkinter のウィジェット

ここではチェックボタン (Checkbutton) の使い方を説明します。

次のようなウィンドウを作成します。

Tkinter の Checkbutton Tkinter の Checkbutton

Checkbutton のラベルは Button と同様に text オプションで指定します。

Checkbutton は値を持つことができます。デフォルトで 1 です。 チェックされているときの値を onvalue オプションで、チェックされていない時の値を offvalue オプションで指定します。

値は変数に格納して保持します。次の例では StringVar で変数を作成して、variable オプションに設定することで、onvalue や offvalue で指定した値を保持できます。

次のコードではチェックボタンをチェック、クリアをする度に、チェックボタンの変数として指定した String 変数の値をコンソールに出力します。

Tkinter の Checkbutton

またボタンを押すとその時点の変数の値を出力してプログラムを終了します。

from tkinter import *
from tkinter import ttk

def button1_clicked():
    print('v1 = %s' % v1.get())
    quit()

def cb1_clicked():
    print('v1 = %s' % v1.get())

root = Tk()
root.title('Checkbutton 1')

# Frame
frame1 = ttk.Frame(root, padding=(10,5))
frame1.grid()

#Checkbutton 1
v1 = StringVar()
cb1 = ttk.Checkbutton(
    frame1,
    padding=5,
    text='Option 1',
    onvalue='A',
    offvalue='B',
    variable=v1,
    command=cb1_clicked)

#Button
button1 = ttk.Button(
    frame1, 
    text='OK', 
    padding=5,
    command=button1_clicked)

#Layout
cb1.grid(row=0,column=0)
button1.grid(row=1, column=0)

root.mainloop()

変数は特定の値で初期化されないので注意が必要です。すなわち、上記の例では一度もチェックボタンを触らずに、 OK ボタンを押すと空のままであることが確認できます。

ホーム > Tkinter による GUI プログラミング > Checkbutton - Tkinter のウィジェット