Tkinter Radiobutton


Tkinter Radiobutton Widget

Tkinter Radiobutton is a widget used to display a radio button in a Tkinter GUI application. And we can use a group of radio buttons to select a single option from a set of mutually exclusive options.

In the following GUI screenshot, there are three Radiobutton widgets.

Tkinter Radiobutton Example
Tkinter Radiobuttons

And user can select only one of these options.

Tkinter Radiobutton - User selected "Option 2"
Tkinter Radiobutton - User selected "Option 2"

And when user selects an option, we can get the selected option.

Terminal Output when user selected a Radiobutton
Terminal Output when user selected a Radiobutton

In this tutorial, you will learn how to create a set of Radiobutton widgets, in a Tk window, with specific text, value, variable, and a command function, and display it in a window.

Steps to create and display Radiobutton in Tkinter

Step 1

Import tkinter and create a window.

import tkinter as tk
window = tk.Tk()

Step 2

Create a Radiobutton widget using tkinter.Radiobutton class.

radio_button1 = tk.Radiobutton(window, text="Option 1", variable=radio_var, value="Option 1", command=on_select)

The first argument to the Radiobutton() constructor specifies the master for the radio button widget. Since we are going to display the Label directly in the window, we pass window object created in the previous step.

The second argument is a named argument text which is displayed after the radio button symbol in the GUI.

The third argument is a named argument variable which is used to store the value of selected radio button. Declare this variable using tkinter.StringVar().

And finally, the fourth argument command, is the event handler function which is called when the radio button is selected. We have to define this event handler function as a Python function.

You can create as many Radiobutton widgets as required in a group, with a common variable and command values.

Step 3

Pack the Radiobutton widget in the parent widget using Radiobutton.pack() method.

radio_button1.pack()

Step 4

Run the application.

window.mainloop()

Example

In this example, we shall create three Radiobutton widgets in Tk window. When user selects an option, the command function is called, and we print the selected option to the standard output.

Program

import tkinter as tk

def on_select():
    selected_option = radio_var.get()
    print(f"Selected option: {selected_option}")

# Create the main window
window = tk.Tk()
window.geometry("300x200")
window.title("PythonExamples.org")

# Create a variable to hold the selected option
radio_var = tk.StringVar()

# Create Radiobuttons
radio_button1 = tk.Radiobutton(window, text="Option 1", variable=radio_var, value="Option 1", command=on_select)
radio_button2 = tk.Radiobutton(window, text="Option 2", variable=radio_var, value="Option 2", command=on_select)
radio_button3 = tk.Radiobutton(window, text="Option 3", variable=radio_var, value="Option 3", command=on_select)

# Pack the Radiobuttons
radio_button1.pack()
radio_button2.pack()
radio_button3.pack()

# Start the Tkinter event loop
window.mainloop()

Output

Output on MacOS

Tkinter Radiobutton Example
Tkinter Radiobuttons

User selects "Option 2".

Tkinter Radiobutton - User selected "Option 2"
Tkinter Radiobutton - User selected "Option 2"

The command function executes, and prints the selected option in the standard output.

Terminal Output when user selected a Radiobutton
Terminal Output when user selected a Radiobutton

Summary

In this Python Tkinter tutorial, we learned how to create a Radiobutton widget and display it in the window, with examples.