Radiobuttonウィジェットを使ってみよう
今回はRadiobuttonウィジェットを使って、ラジオボタンを表示してみましょう。
ラジオボタンは複数の中からひとつだけを選ぶことができるGUI部品です。
Radiobuttonウィジェットの書式
Radiobuttonウィジェットの使い方は、以下の通りです。
※ tkinterを別名でインポートした場合は、tkinterの部分を別名にしてください。
オブジェクト名 = tkinter.Radiobutton(master=親ウィジェット, オプション)
第1引数はRadiobuttonウィジェットの親ウィジェットを指定します。
また、masterは省略することができます。
Radiobuttonウィジェットで使うオプション
Radiobuttonウィジェットで使う主なオプションは、以下の通りです。
オプション名 | 内容 |
text | ラジオボタンの横に表示する文字列 |
font | 使用するフォント *1 |
fg/foreground | ラジオボタンの横に表示する文字の色 *2 |
bg/background | 背景の色 *2 |
height | ラジオボタンの行数。デフォルトは1 |
width | ラジオボタンの幅。単位は文字数 |
activeforeground | ラジオボタンがカーソルの下にある時の文字色 |
activebackground | ラジオボタンがカーソルの下にある時の背景色 |
variable | Tkinter変数をラジオボタンに関連付ける |
value | ラジオボタンに関連付ける値。同じグループ内で違う値にする必要がある |
command | ボタンが押された時に呼び出す関数 |
indicatoron | true :通常のラジオボタン false:ラジオボタンがSUNKENとして表示される |
*1 指定できるフォントは、tkinter.font.families()で確認できます。
*2 色の指定にはred、green、blueなどのカラー名や先頭に#(シャープ)を付けた16進数が使えます。
Radiobuttonウィジェットを使ったプログラム
Radiobuttonウィジェットを使ったプログラムは、以下のようになります。
ラジオボタンを2つ用意して、それぞれのラジオボタンの値を1と2にします。
また、ラベルを用意して、押されたラジオボタンの値を表示します。
ボタンを押した時に色が変わらないように、activeforegroundとactivebackgroundに通常時と同じ色を設定しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
### インポート import tkinter ### メイン画面作成 main = tkinter.Tk() ### 画面サイズ設定 main.geometry("640x400") ### 画面色設定 main.configure(bg="lime") ### ラベル表示変数 value = tkinter.IntVar() ### ラジオクボタン radiobutton1 = tkinter.Radiobutton(master=main, text="ラジオボタン1", font=("HG丸ゴシックM-PRO",24), fg="red", bg="lime", height=3, width=15, activeforeground="red", activebackground="lime", variable=value, value=1) radiobutton2 = tkinter.Radiobutton(master=main, text="ラジオボタン2", font=("HG丸ゴシックM-PRO",24), fg="red", bg="lime", height=3, width=15, activeforeground="red", activebackground="lime", variable=value, value=2) ### ラベル作成 label = tkinter.Label(master=main, textvariable=value, font=("HG丸ゴシックM-PRO",48), fg="red", bg="lime", height=3, width=15) ### ラジオボタン配置 radiobutton1.pack(pady=20) radiobutton2.pack() ### ラベル配置 label.pack(pady=20, side="bottom") ### イベントループ main.mainloop() |
プログラムを実行すると、以下のような画面が表示されます。
最初は何も選択していないので、ラベルに0が表示されます。
ラジオボタン1を選択するとラベルに1が表示され、ラジオボタン2を選択するとラベルに2が表示されます。