Menuウィジェットのラジオボタンの状態を取得しよう
前回はMenuウィジェットに設定されたチェックボタンの状態を取得しました。
今回はMenuウィジェットに設定されたラジオボタンの状態を取得してみましょう。
ラジオボタンの状態を取得する
ラジオボタンの状態を取得するために、add_radio()メソッドのvariableオプションを使います。
variableオプションに設定するTkinter変数はラベル名なので、StringVar() を使います。
Tkinter変数名 = tkinter.StringVar()
variable=Tkinter変数名
ラジオボタンの状態を取得するプログラム
ラジオボタンの状態を取得するプログラムは、以下のようになります。
ラジオボタンは2つあるので、両方に同じTkinter変数を割り当てます。
ラジオボタンは排他なので、どちらか片方しかチェックできません。
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 32 33 34 35 36 |
### インポート import tkinter ### メイン画面作成 main = tkinter.Tk() ### ラジオボタン確認変数 value = tkinter.StringVar() ### 画面サイズ設定 main.geometry("640x400") ### メニューバー作成 menubar = tkinter.Menu(master=main) ### 設定メニュー作成 setmenu = tkinter.Menu(master=menubar, tearoff=0) setmenu.add_radiobutton(label="ラジオボタン1", variable=value) setmenu.add_radiobutton(label="ラジオボタン2", variable=value) setmenu.add_separator() setmenu.add_command(label="終了", command=main.quit) ### メニューバーに各メニューを設定 menubar.add_cascade(label="設定", menu=setmenu) ### メニューバー配置 main.config(menu=menubar) ### ラベル作成 label = tkinter.Label(master=main, textvariable=value, font=("HG丸ゴシックM-PRO",24), fg="blue") ### ラベル配置 label.pack(pady=180) ### イベントループ main.mainloop() |
プログラムを実行すると、以下のような画面が表示されます。
どちらかのラジオボタンをチェックすると、そのラジオボタンのlabelオプションに設定した値がそのままラベルに表示されます。