Python编程实例-Tkinter GUI编程-askretrycancel

askretrycancel

在本实例中,将介绍如何使用 Tkinter的askretrycancel() 函数来显示重试/取消确认对话框。

1、askretrycancel函数介绍

有时,应用程序执行任务但由于错误而未能执行。

例如,您可能想要连接到数据库服务器。 但是,目前无法访问数据库服务器。 它可能会在短时间内离线。

在这种情况下,您可以显示一个确认对话框,允许用户重新连接到数据库或保持应用程序不变。

要显示重试/取消对话框,可以使用 askretrycancel() 函数:

answer = askretrycancel(title, message, **options)

如果单击重试按钮,则 askretrycancel() 函数返回 True。 如果单击取消按钮,则返回 False。

2、完整示例

以下程序显示了一个模拟错误数据库连接的按钮:

Python编程实例-Tkinter GUI编程-askretrycancel_第1张图片

如果单击该按钮,它将显示一个重试/取消对话框,说明无法访问数据库服务器。 它还会要求您重新连接到数据库服务器:

Python编程实例-Tkinter GUI编程-askretrycancel_第2张图片

如果单击重试按钮,它将显示一个对话框,指示程序正在尝试重新连接到数据库服务器。

Python编程实例-Tkinter GUI编程-askretrycancel_第3张图片

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()

你可能感兴趣的:(Python编程实例,Python,Tkinter,GUI,桌面编程,物联网)