Giao diện - Tkinter - Askretrycancel
Tkinter askretrycancel
Summary: in this tutorial, you’ll learn how to use the Tkinter askretrycancel()
function to show a Retry/Cancel confirmation dialog.
Introduction to the Tkinter askretrycancel() function
Sometimes, the application performs a task but fails to do so because of an error.
For example, you may want to connect to a database server. However, the database server is currently not reachable. It may be offline for a short period of time.
In this case, you can display a confirmation dialog that allow users to reconnect to the database or just keep the application as is.
To display the Retry/Cancel dialog, you can use the askretrycancel()
function:
answer = askretrycancel(title, message, **options)
Code language: Python (python)
The askretrycancel()
function returns True
if the Retry
button is clicked. If the Cancel
button is clicked, it returns False
.
Tkinter askretrycancel()
function example
The following program shows a button that simulates a bad database connection:
If you click the button, it’ll show a Retry/Cancel dialog saying that the database server is not reachable. It’ll also request you to reconnect to the database server:
If you click the Retry button, it’ll show a dialog indicating that the program is attempting to reconnect to the database server.
Program:
import tkinter as tk from tkinter import ttk from tkinter.messagebox import askretrycancel, showinfo # create the root window root = tk.Tk() root.title('Tkinter OK/Retry Dialog') root.geometry('300x150') # click event handler def confirm(): answer = askretrycancel( title='Connection Issue', message='The database server is unreachable. Do you want to retry?' ) if answer: showinfo( title='Information', message='Attempt to connect to the database again.') ttk.Button( root, text='Connect to the Database Server', command=confirm).pack(expand=True) # start the app root.mainloop()
Code language: Python (python)
Summary
- Use the
askretrycancel()
function to display a Retry/Cancel dialog to confirm users to carry an operation again. - The
askretrycancel()
function returnsTrue
if the Retry button is clicked. If the Cancel button is clicked, it returnsFalse
.