top

8. tkinterのチェックボックス(チェックボタン)の使い方

トップページ
Pythonで簡単にアプリを作ることができる「tkinter」についてインストールから実用例までを複数章に分けて解説していく。(2020年12月10日 更新)

目次




チェックボックス

  • チェックボックス(チェックボタン)の定義

  • チェックボックスの作成には Checkbutton() を用いる。Checkbox()ではないことに注意
    また、チェックされたのかどうかはTrue,Falseで返され、その値を格納する変数を指定する必要がある。その指定には BooleanVar() を用いる。

    var = t.BooleanVar() #TrueまたはFalseが入る

    che = t.Checkbutton( variable = var ) #上で定義したvarをチェックボックスに紐づけ


    チェックボックスに文章をくっつけるには text オプションを用いる。

     実行例1
    import tkinter as t

    app = t.Tk()
    app.title( 'テスト' )
    app.geometry( '200x150' )

    var = t.BooleanVar()
    che = t.Checkbutton( text = 'チェックボックス', variable = var )
    che.place( x = 20, y = 10 )

    app.mainloop()

     実行結果


  • チェックボックスの値を取得する

  • チェックボックスの値は前述の通り変数varに格納されているので、varに対して get() を用いればよい。

    var.get()

    チェックボックスにチャックが入っていないとFalseが返され、入っているとTrueが返される。



  • チェックボックスの初期値を設定する

  • チェックボックスに最初からTrueまたはFalseを入れておきたいときは、varに対して set() を用いればよい。

    var.set( True ) #最初からチェックを入れた状態にする


  • チェックボックスのカスタマイズ

  • チェックボックスに対しても widthheightfontforegroundbackground オプションが利用できる。詳しくは第3章


    ここで、ボタンを押すとチェックボックスの値をエントリーに表示するプログラムを記載する。

     実行例
    import tkinter as t

    def func(event):
        ent.delete( 0, t.END )
        ent.insert( 0, 'Trueです。' if var.get() else 'Falseです。' )

    app = t.Tk()
    app.title( 'テスト' )
    app.geometry( '200x120' )

    ent = t.Entry( justify = t.CENTER )
    ent.place( x = 50, y = 10, width = 100 )

    var = t.BooleanVar()
    var.set( True )
    #初期値をTrueに設定
    che = t.Checkbutton( text = 'チェックボックス', variable = var )
    che.place( x = 50, y = 40 )

    but = t.Button( text = u'実行' )
    but.place( x=50, y=80, width = 100 )
    but.bind( '<Button-1>', func )

    app.mainloop()

     実行結果(gif画像)