按下“取消”按钮时输入对话框的输出 - Python

时间:2014-07-03 17:34:02

标签: python input dialog

这是Python。我通过通用getInput('1 or 2?')请求输入,并设置while loop,以便它继续请求输入,直到用户放置1或2.我想stop循环用户点击Cancel按钮,但不知道返回的output是什么,以便将其添加到我的if语句中。如何引用选择取消按钮的用户输入?

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(' Whatever')并打开一个对话框,其中包含' Ok'或者'取消'按钮和用户输入的空间。与input()

相同

2 个答案:

答案 0 :(得分:0)

打印东西很有帮助

input = False
while input == False:
    answer = getInput('1 or 2')
    print "GOT : %s"%answer

现在只是点击取消并查看它说的内容....我不知道getInput是什么,但我认为取消将返回0,false或无

可能会说

elif not answer:
     print "User clicked cancel"

但实际上只是如上所示打印它,你应该确切知道点击取消的结果

(显然你检查了它的None)所以

elif answer is None: 
    input=True

答案 1 :(得分:0)

谢谢Joran Beasley,我没有想到这一点。事实证明,当您按下取消按钮时,它只会返回None 它正在寻找的if语句是

elif answer == None:
    input = True