Tkinter askokcancel
Summary: in this tutorial, you’ll learn how to use the Tkinter askokcancel() function to show a confirmation dialog.
Introduction to the Tkinter askokcancel() function
The askokcancel() function shows a confirmation dialog that has two buttons: OK and Cancel.
answer = askokcancel(title, message, **options)Code language: Python (python)
If you click the OK button, the function returns True. However, if you click the Cancel button, the function returns False.
Tkinter askokcancel() example
The following program shows a Delete All button. If you click the button, the program will show a confirmation dialog that has two buttons: OK and Cancel.

If you click the OK button, the program will show a message box indicating that all the data has been deleted successfully:


The program:
import tkinter as tk
from tkinter import ttk
from tkinter.messagebox import askokcancel, showinfo, WARNING# create the root window
root = tk.Tk()
root.title('Tkinter Ok/Cancel Dialog')
root.geometry('300x150')
# click event handler
def confirm():
answer = askokcancel(
title='Confirmation',
message='Deleting will delete all the data.',
icon=WARNING)
if answer:
showinfo(
title='Deletion Status',
message='The data is deleted successfully')
ttk.Button(
root,
text='Delete All',
command=confirm).pack(expand=True)
# start the app
root.mainloop()
Code language: Python (python)
The following program does the same as the program above but use the object-oriented programming approach:
import tkinter as tk
from tkinter import ttk
from tkinter.messagebox import askokcancel, showinfo, WARNINGclass App(tk.Tk):
def __init__(self):
super().__init__()
self.title('Tkinter Ok/Cancel Dialog')
self.geometry('300x150')
delete_button = ttk.Button(
self,
text='Delete All',
command=self.confirm)
delete_button.pack(expand=True)
def confirm(self):
answer = askokcancel(
title='Confirmation',
message='Deleting will delete all the data.',
icon=WARNING)
if answer:
showinfo(
title='Deletion Status',
message='The data is deleted successfully')
if __name__ == "__main__":
app = App()
app.mainloop()
Code language: Python (python)
Summary
- Use the Tkinter
askokcancel()function to display a confirmation dialog with two buttonsOKandCancel. - The
askokcancel()function returnsTrueif you click theOKbutton andFalseif you click theCancelbutton.