Qub*_*028 2 python tkinter tkmessagebox
我看到的文档tkMessageBox似乎表明用户在askyesnocancel对话框中选择的布尔值返回。有 3 个选项,那么布尔值如何正确捕获用户的选择呢?
我尝试过下面显示的方法,其中“是”返回“True”,“否”返回“False”,“取消”返回“取消”,但这似乎不起作用。“否”或“取消”选择似乎都返回为“False”。有人对此有什么想法吗?
if tkMessageBox.askyesnocancel("Error", "Choose yes, no or cancel", default='yes')
...
...
...
elif "cancel":
return
else:
pass
Run Code Online (Sandbox Code Playgroud)
小智 8
实际上,点击Cancel返回None。只需用这一行测试一下:
repr(tkMessageBox.askyesnocancel("wa", "wa"))
Run Code Online (Sandbox Code Playgroud)
总之,“是”产生True,“否”产生False,“取消”产生None。
您遇到的问题是, 的布尔值None也是False。您必须明确检查None:
if result is None:
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3470 次 |
| 最近记录: |