1 回答

TA贡献1834条经验 获得超8个赞
askretrycancel总是返回布尔值。按下时重试返回True,False按下时取消。您将需要使用while循环并且在答案正确或Cancel按下之前不要破坏它。这是代码:
from tkinter import Tk
from tkinter import simpledialog, messagebox
def display_figure():
application_window = Tk()
application_window.withdraw()
while True:
answer = simpledialog.askstring("Input", "What figure do you want to look at: 'Fig1', 'Fig2', 'Fig3', or 'Fig4'?", parent=application_window)
if answer == 'Fig1': print(answer);break
elif answer == 'Fig2': print(answer);break
elif answer == 'Fig3': print(answer);break
elif answer == 'Fig4': print(answer);break
else:
if messagebox.askretrycancel("Question", "Error: Not a recognized keyword. Do you want to try again?") == False:
break
display_figure()
添加回答
举报