In this short guide, you’ll see how to create a Yes/No message box in Python using tkinter. This includes:
- A simple GUI with one button, called the ‘Exit Application‘ button
- When you click on that button, you’ll have a choice between:
- Yes – to close the GUI
- No – to return back to the main display
The code used to create the Yes/No message box in Python
Here is the full code to create the Yes/No message box in Python using tkinter.
In the next section, you’ll see an explanation about each component used in the code.
import tkinter as tk from tkinter import messagebox root = tk.Tk() canvas = tk.Canvas(root, width=300, height=300) canvas.pack() def exit_application(): msg_box = tk.messagebox.askquestion( "Exit Application", "Are you sure you want to exit the application?", icon="warning", ) if msg_box == "yes": root.destroy() else: tk.messagebox.showinfo( "Return", "You will now return to the application screen" ) button = tk.Button( root, text="Exit Application", command=exit_application, bg="brown", fg="white" ) canvas.create_window(150, 150, window=button) root.mainloop()
Background about the code
Let’s now review the components used in the code.
(1) First, import the tkinter package. This package is used to create a Graphical User Interface (GUI) in Python:
import tkinter as tk from tkinter import messagebox
(2) Then, create the Canvas, which will become your GUI screen. You can then place items, such as buttons, on the canvas.
Note that you can change the width and height of your display by modifying the numeric values below:
canvas = tk.Canvas(root, width=300, height=300) canvas.pack()
(3) Now, create a function to be called by the Exit Application button.
When you press on the button, a message box would appear on your screen. You can edit the text within the message box:
msg_box = tk.messagebox.askquestion (‘Type here the title for your message box’, ‘type here the content that will be displayed within the message box’)
Then, you’ll need to use an If function:
- If msg_box == “yes” then the GUI will be closed
- else: another message box would appear on your screen to indicate that you’ll now return back to the application screen
def exit_application(): msg_box = tk.messagebox.askquestion( "Exit Application", "Are you sure you want to exit the application?", icon="warning", ) if msg_box == "yes": root.destroy() else: tk.messagebox.showinfo( "Return", "You will now return to the application screen" )
(4) Finally, add a button to call the ‘exit_application‘ function above.
The button should be placed on the GUI. You can control the position of the button by changing the numeric values below:
button = tk.Button( root, text="Exit Application", command=exit_application, bg="brown", fg="white" ) canvas.create_window(150, 150, window=button)
Running the Python Code
Run the Python code, and you’ll see a simple GUI that has a single button to exit the application.
Press on the ‘Exit Application‘ button, and you’ll get a message box, where you’ll have two options to choose from. If you you click on ‘Yes‘, you’ll exit the application.
Yes No
However, if you click on ‘No‘, you’ll get this second message box:
Once you click on ‘OK‘ you’ll return back to the application screen.
You may check the following guide for a more comprehensive GUI that you can create using tkinter, or visit the tkinter documentation.