Как использовать функцию Tkinter askretrycancel() в Python
В этом уроке вы узнаете, как использовать функцию Tkinter askretrycancel() для отображения диалогового окна подтверждения «Повторить/Отменить» в Python.
Знакомство с функцией Tkinter askretrycancel()
Иногда приложение выполняет задачу, но не может сделать этого из-за ошибки.
Например, вы можете захотеть подключиться к серверу базы данных. Однако сервер базы данных в данный момент недоступен. Он может быть отключен в течение короткого периода времени.
В этом случае вы можете отобразить диалоговое окно подтверждения, которое позволит пользователям повторно подключиться к базе данных или просто оставить приложение как есть.
Чтобы отобразить диалоговое окно «Повторить/Отмена», можно использовать функцию askretrycancel():
answer = askretrycancel(title, message, **options)
Функция askretrycancel() возвращает True, если нажата кнопка Retry. Если нажата кнопка Cancel, она возвращает False.
Пример с функцией askretrycancel() в Tkinter
Следующая программа показывает кнопку, имитирующую плохое соединение с базой данных:
Если нажать кнопку, появится диалоговое окно Retry/Cancel, сообщающее, что сервер базы данных недоступен. Также будет предложено переподключиться к серверу базы данных:
Если нажать кнопку «Повторить», откроется диалоговое окно, сообщающее о том, что программа пытается повторно подключиться к серверу базы данных.
Программа:
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()