messagebox.askyesno(0.0,'"{0}"{1} \n {2}\n'.format(search_analyte.get(),' is not in the database.','Add,if appropriate'))
print (str(messagebox.askyesno()))
if messagebox.askyesno() == True:
open_second()
else:
open_first()
在这段代码中,askyesno消息框打开。如果我单击“是”一次,没有任何反应,如果我再次单击它,“True”将打印到控制台(只是添加以查看我要返回的内容),如果我第三次单击它,消息框将关闭,正确的笔记本页面打开。 “否”会出现相同的行为。首先点击,没有,消息框仍然打开,但消息框中的文本消失,只留下是,否。第二次将False打印到控制台,框保持打开,第三次,框关闭,正确的记事本页面打开。有人可以解释我做错了吗
答案 0 :(得分:2)
在您发布的代码中,您将打开三个对话框。每次拨打askyesno
,您都会收到一个对话框。您需要调用askyesno
一次,保存它返回的值,然后在测试中使用该值。
result = messagebox.askyesno(...)
if result == True:
...