【Python】ラジオボタンを使ってみる(tkinter.Radiobutton)

Python
Uratake
Uratake

Tkinterを使ってラジオボタンを設置して

選択されている値を表示するプログラムを作成してみます。

本記事のゴール

この記事ではラジオボタンが選択でき、ボタンを押すと選択しているラジオボタンの値を取得し
メッセージボックスで表示するプログラムが動作することをゴールとして設定します。

  • apple、orange、lemonをラジオボタンの表示テキストする
  • ラジオボタンを選択してボタンを押すと選択しているラジオボタンの値をメッセージボックスで表示する。

ラジオボタンの設置の仕方

ソースコード

実行結果

本記事のゴールに設定したボタンを押すと選択されたラジオボタンの
値がメッセージボックスで表示されるアプリが作成されました。

コードの解説

ボタンの作成及び設置については以下の記事を参考にしてください。

15行目はラジオボタンのテキストをリスト型で定義しています。
15行目の「radio_text = [‘apple’, ‘orange’, ‘lemon’]」はradio_textという変数に値を代入しています。
18行目はラジオボタンの状態を定義しています。
18行目の「radio_var = tkinter.IntVar()」ラジオボタンの状態をint型で定義する設定をしています。
21~23行目はラジオボタンの作成及び設置を行っています。
21行目の「for i in range(len(radio_text)):」はラジオボタンを3つ作るためのループ文となっています。
22行目の「radio = tkinter.Radiobutton(window, value=i, variable=radio_var, text=radio_text[i])」は
ラジオボタンを作成しています。
23行目の「radio.place(x=50, y=30 + (i *24))」はラジオボタンの設置場所を設定しています。
26~28行目はボタン操作された際の動作を設定しています。
26行目の「def btn_click():」はボタンを押された場合の関数を定義しています。
27行目の「num = radio_var.get()」はラジオボタンの値を取得し、num変数に代入しています。
28行目の「tkinter.messagebox.showinfo(‘チェックした項目’,radio_text[num])」はメッセージボックスで先ほど取得した内容を表示します。

参考ページ: https://docs.python.org/ja/3/library/tk.html

コピペ用ソースコード

import tkinter 
from tkinter import messagebox


#メイン画面を作成
window = tkinter.Tk()

#サイズを設定
window.geometry('300x200')

#タイトルの設定
window.title('radio Button')

#ラジオボタンのラベルをリスト化する
radio_text = ['apple', 'orange', 'lemon']

#ラジオボタンの状態
radio_var = tkinter.IntVar()

#ラジオボタンを動的に作成して設置
for i in range(len(radio_text)):
    radio = tkinter.Radiobutton(window, value=i, variable=radio_var, text=radio_text[i])
    radio.place(x=50, y=30 + (i *24))

#ボタンクリックされた際のイベント
def btn_click():
    num = radio_var.get()
    tkinter.messagebox.showinfo('チェックした項目',radio_text[num])

#ボタンの設定
file_button = tkinter.Button(
    window,
    text = 'check',
    command = btn_click,
)
file_button.place(x=100, y=150)

#画面表示
window.mainloop()

コメント