【完全独学Python】Tkinterのラジオボタン(Radiobutton)はこれだけ覚えて!

デスクトップアプリ

こんにちは!ゆーや(@yuyamanm118712)です。

こちらのページでは完全独学でWebプログラマとなった私が

デスクトップアプリには必須!!Tkinterでラジオボタン(Radiobutton)を表示する方法をご紹介します!

ゆーや
ゆーや

Tkinterの基本的な使い方は以下の記事を見てね!

Tkinterで「画面にラジオボタンを表示する」ためにはRadiobuttonというウィジェット(部品)を使います!

ラジオボタンは、ユーザーに複数の選択肢から一つを選ばせる場面で頻繁に使われます!

この記事を通して、ラジオボタン(Radiobutton)は使いこなせるようにしておきましょう!

ゆーや
ゆーや

本記事ではButton(ボタン)についても扱うよ!

Button(ボタン)については下記の記事を見てね!

この記事を読むと

  • Tkinterで作成した画面内にラジオボタンが作成できる!
  • Tkinterで表示したラジオボタンの状態(チェックされているかいないか)を取得できる!
  • ラジオボタンの見た目をカスタマイズできる!

ラジオボタン(Radiobutton)の基本

ラジオボタン(Radiobutton)の作成

# ラジオボタンの基本
import tkinter as tk

# ウィンドウの作成
root = tk.Tk()
root.title("Radiobutton-完全独学Python")
root.geometry("500x300")

# ラジオボタンの作成
radiobutton01 = tk.Radiobutton(root, text="ラジオボタン1")
radiobutton01.pack()

radiobutton02 = tk.Radiobutton(root, text="ラジオボタン2")
radiobutton02.pack()

radiobutton03 = tk.Radiobutton(root, text="ラジオボタン3")
radiobutton03.pack()

# ウィンドウの表示
root.mainloop()
ゆーや
ゆーや

ラジオボタンが出た!
ただこれだと全部選択したままで使えません。。

ラジオボタン(Radiobutton)の状態を取得する

複数のラジオボタンを1つのグループにする

import tkinter as tk

# ウィンドウの作成
root = tk.Tk()
root.title("Radiobutton-完全独学Python")
root.geometry("500x300")

# 選択されたオプションを格納するための変数
selected_option = tk.StringVar(value=1)

# ラジオボタンの作成
radiobutton01 = tk.Radiobutton(root, text="ラジオボタン1", variable=selected_option, value="1")
radiobutton01.pack()

radiobutton02 = tk.Radiobutton(root, text="ラジオボタン2", variable=selected_option, value="2")
radiobutton02.pack()

radiobutton03 = tk.Radiobutton(root, text="ラジオボタン3", variable=selected_option, value="3")
radiobutton03.pack()

# ウィンドウの表示
root.mainloop()
ゆーや
ゆーや

StringVarを使い、同じ変数を複数のラジオボタンのvariableに持たせることで
1つだけ選択可能にすることができた!
valueその選択肢を選択した場合に受け取る値だよ!
その受け取り方はこの後説明するよ!

選択した値を取得する

# 選択肢した値の取得
import tkinter as tk

def display_selected_option():
    label = tk.Label(root, text="selected_option:" + selected_option.get())
    label.pack()

# ウィンドウの作成
root = tk.Tk()
root.title("Radiobutton-完全独学Python")
root.geometry("500x300")

# 選択されたオプションを格納するための変数
selected_option = tk.StringVar(value=1)

# ラジオボタンの作成
radiobutton01 = tk.Radiobutton(root, text="ラジオボタン1", variable=selected_option, value="1")
radiobutton01.pack()

radiobutton02 = tk.Radiobutton(root, text="ラジオボタン2", variable=selected_option, value="2")
radiobutton02.pack()

radiobutton03 = tk.Radiobutton(root, text="ラジオボタン3", variable=selected_option, value="3")
radiobutton03.pack()

# ボタンの作成
button = tk.Button(root, text="選択したオプションを表示", command=display_selected_option)
button.pack()

# ウィンドウの表示
root.mainloop()

ボタン押下

「ラジオボタン3」を
チェックしてタン押下

ゆーや
ゆーや

ボタン関数を用意して、用意した変数.get()とすれば、
選択した値が取れる!
ちなみに最初に「ラジオボタン1」が選択された状態なのは、
tk.StringVar(value=1)で初期値を「1」で設定してるからだよ!

複数のグループからそれぞれ値を取得する

#複数グループ
import tkinter as tk

def display_selected_option():
    label01 = tk.Label(root, text="selected_option01:" + selected_option01.get())
    label01.pack()
    
    label02 = tk.Label(root, text="selected_option02:" + selected_option02.get())
    label02.pack()

# ウィンドウの作成
root = tk.Tk()
root.title("Radiobutton-完全独学Python")
root.geometry("500x300")

# 選択されたオプションを格納するための変数
selected_option01 = tk.StringVar(value=1)
selected_option02 = tk.StringVar(value=1)

# ラジオボタンの作成
radiobutton01_01 = tk.Radiobutton(root, text="ラジオボタン01_01", variable=selected_option01, value="1")
radiobutton01_01.pack()

radiobutton01_02 = tk.Radiobutton(root, text="ラジオボタン01_02", variable=selected_option01, value="2")
radiobutton01_02.pack()

radiobutton01_03 = tk.Radiobutton(root, text="ラジオボタン01_03", variable=selected_option01, value="3")
radiobutton01_03.pack()

radiobutton02_01 = tk.Radiobutton(root, text="ラジオボタン02_01", variable=selected_option02, value="1")
radiobutton02_01.pack()

radiobutton02_02 = tk.Radiobutton(root, text="ラジオボタン02_02", variable=selected_option02, value="2")
radiobutton02_02.pack()

radiobutton02_03 = tk.Radiobutton(root, text="ラジオボタン02_03", variable=selected_option02, value="3")
radiobutton02_03.pack()

# ボタンの作成
button = tk.Button(root, text="選択したオプションを表示", command=display_selected_option)
button.pack()

# ウィンドウの表示
root.mainloop()

ボタン押下

チェックしてタン押下

ゆーや
ゆーや

「複数のラジオボタンと変数」のセットを複数用意すれば、
それぞれの値を取得することができる!

まとめ

本記事では、ラジオボタン(Radiobutton)を使って、Tkinterで画面にラジオボタンを表示する方法を紹介しました!

ポイントは以下の4つです!

① Tkinterで画面にラジオボタンを表示するには「Radiobutton(ラジオボタン)」を使う
複数のラジオボタンを1つのグループにするには、共通の変数を持たせる
選択した値を取得するには、「変数.get()」を使う
複数のグループからそれぞれ値を取得するには「複数のラジオボタンと変数」のセットを複数
  用意する

ゆーや
ゆーや

まとめの内容を見て、もう頭に浮かべば完璧!

コメント

タイトルとURLをコピーしました