我在tkMessageBox上看到的文档似乎表明了askyesnocancel对话框中用户选择的布尔返回。有3个选项,那么布尔值如何正确地捕获用户的选择呢?
我尝试了下面所示的方法,其中"yes“返回"True”、"no“返回"False”和"cancel“返回"cancel",但这似乎行不通。“否”或“取消”的选择似乎都被返回为“假”。有人对此有什么想法吗?
if tkMessageBox.askyesnocancel("Error", "Choose yes, no or cancel", default='yes')
...
...
...
elif "cancel":
return
else:
pass发布于 2015-02-28 14:52:37
实际上,单击Cancel返回None。只需用这一行进行测试:
repr(tkMessageBox.askyesnocancel("wa", "wa"))总之,“是”生成True,“否”生成False,“取消”生成None。
存在的问题是,None的布尔值也是False。您必须显式地检查是否有None
if result is None:
...https://stackoverflow.com/questions/28782974
复制相似问题