当取消按钮被按下时输入对话框的输出 - Python
这是在 Python
里写的。我通过一个通用的 getInput('1 或 2?')
来请求用户输入,并设置了一个 while 循环
,这样它会一直请求输入,直到用户输入 1 或 2。我想在用户点击 取消
按钮时 停止
循环,但我不知道返回的是什么结果,所以无法把它放进我的条件判断里。我该如何引用用户选择取消按钮的输入呢?
input = False
while input == False:
answer = getInput('1 or 2')
if answer == '1':
do this
input = True
elif answer == '2':
do this
input = True
elif answer == False: #Don't know what to put here to reference the input of
input = True #clicking the Cancel button to exit the input...
else:
getWarningReply('Invalid answer. Please enter 1 or 2.', 'OK')
pass
getInput 不是我自己定义的函数。我只需输入 getInput('随便什么'),它就会弹出一个对话框,里面有 '确定' 和 '取消' 按钮,以及一个供用户输入的地方。这和 input() 是一样的。
2 个回答
0
谢谢你,Joran Beasley,我之前没想到这一点。结果发现,当你按下取消按钮时,它其实只是返回了 None
。它想要找的那个 if 语句是:
elif answer == None:
input = True
0
打印一些信息在很多时候都很有帮助。
input = False
while input == False:
answer = getInput('1 or 2')
print "GOT : %s"%answer
现在只需点击取消,看看它显示什么……我不知道getInput
是什么,但我猜点击取消会返回0、false或者none。
其实可以简单地说
elif not answer:
print "User clicked cancel"
不过,真的只要像上面那样打印出来,你就应该能清楚地知道点击取消会得到什么结果。
(显然你检查过了,它是None
)所以
elif answer is None:
input=True