Tkinter チュートリアル - ラジオボタン Radiobutton
前のセクションでは、ラベル、ボタンやチェックボタンについて学習しました。Tkinter ウィジェットには、非常によく似たオプション、プロパティ、またはメソッドがあります。したがって、このセクションからは、速いペースで学習できます。
Radiobuton
は多くのボタンの 1つです。選択には複数のオプションがありますが、ユーザーはそのうちの 1つしか選択できませんでした。前に紹介したウィジェットと同じように、Radibutton
にはテキストまたは画像を含めることができ、コールバック関数またはメソッドをそれにバインドできます。このコールバック関数は、そのボタンが押されると自動的にトリガーされます。
Tkinter ラジオボタンの基本的な例
import tkinter as tk
app = tk.Tk()
app.geometry("150x100")
radioValue = tk.IntVar()
rdioOne = tk.Radiobutton(app, text="January", variable=radioValue, value=1)
rdioTwo = tk.Radiobutton(app, text="Febuary", variable=radioValue, value=2)
rdioThree = tk.Radiobutton(app, text="March", variable=radioValue, value=3)
rdioOne.grid(column=0, row=0)
rdioTwo.grid(column=0, row=1)
rdioThree.grid(column=0, row=2)
app.mainloop()
上記のラジオボタンの基本デモの結果は以下のとおりです
radioValue = tk.IntVar()
チェックボタンと同様に、ラジオボタンは特定のデータ型の値を関連付ける必要があります。
rdioOne = tk.Radiobutton(app, text="January", variable=radioValue, value=1)
rdioTwo = tk.Radiobutton(app, text="Febuary", variable=radioValue, value=2)
rdioThree = tk.Radiobutton(app, text="March", variable=radioValue, value=3)
ここでは、January
、February
、March
のテキストのボタンがここに作成されます。同じグループ内のラジオボタンは、一意の値を持つ必要があります。
Tkinter ラジオボタン-値を取得
上記の例に示すように、同じグループのラジオボタンは同じ変数 radioValue
を共有し、value
オプションで異なる値が割り当てられます。
選択したラジオボタンの値は、変数 radioValue
a を自動的に更新する、これは tk.IntVar
型です。
ラベルテキストは、以下のサンプルコードで選択したボタンの値を自動表示します。
import tkinter as tk
app = tk.Tk()
app.geometry("200x100")
radioValue = tk.IntVar()
rdioOne = tk.Radiobutton(app, text="January", variable=radioValue, value=0)
rdioTwo = tk.Radiobutton(app, text="Febuary", variable=radioValue, value=1)
rdioThree = tk.Radiobutton(app, text="March", variable=radioValue, value=2)
rdioOne.grid(column=0, row=0, sticky="W")
rdioTwo.grid(column=0, row=1, sticky="W")
rdioThree.grid(column=0, row=2, sticky="W")
labelValue = tk.Label(app, textvariable=radioValue)
labelValue.grid(column=2, row=0, sticky="E", padx=40)
app.mainloop()
labelValue
ラベルが同じであるラベルテキストが自動的に更新できそうという、ラジオボタンのオプション。
labelValue
ラベルのテキスト変数 textvariable
はラジオボタンのオプション変数 variable
と同じであるため、ラベルのテキストは自動的に更新できます。
Tkinter ラジオボタンインジケータータイプの変更
デフォルトのラジオボタンインジケータは、内部に空白のある円形の穴ですが、テキストまたは画像を含むボックスに置き換えることもできます。ラジオボタンが選択されていない場合はテキストボックスが表示され、押すと凹みが発生します。
rdioOne = tk.Radiobutton(
app, text="I am raised", variable=radioValue, value=1, indicatoron=0
)
indicatoron
はラジオボタンの円形ホールインジケータを有効または無効にするオプションです。indicatoron
= indicator on
です。
Tkinter バインドラジオボタンコールバック関数
ボタンコールバック関数の設定方法のオプションは、[Tkinter Checkbutton](/tutorial/tkinter-tutorial/tkinter-checkbutton/#Tkinter Checkbutton Callback Function Binding) とまったく同じです。オプション command=
を使用します。