这个按钮盒出了什么问题?

时间:2013-05-26 16:37:28

标签: python

42 key = easygui.buttonbox(msg="Enter your message. Your current message is", msg,
                           choices=["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K",
                                    "L", "M", "N", "O", "P",   "Q", "R", "S", "T", "U", 
                                    "V", "W", "X", "Y", "Z", "Space", ".", "I'm Done"])

您的计划出错:

  

SyntaxError:关键字arg之后的非关键字arg (C:/Python25/Cipher.py,第42行)

我认为大胆的部分是错误的,但我不知道如何解决它。

3 个答案:

答案 0 :(得分:2)

这与描述here的问题相同。通过更改参数的排列来修复它。

答案 1 :(得分:2)

如果此文档仍然是最新的,那么msg的{​​{1}}变量可能会导致您的问题 http://easygui.sourceforge.net/tutorial/easygui_pydoc.html#-buttonbox

title

应该是:

easygui.buttonbox(msg="Enter your message. Your current message is", msg, choices=["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P",   "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "Space", ".", "I'm Done"])

或如果easygui.buttonbox(msg="", title=msg, choices=["..."]) 不应添加到msg

title

如果我没有正确记住Python,除非您更改顺序或跳过先前的参数,否则无需指定easygui.buttonbox(msg="", title="Something", choices=["..."]) 。说完variable=后,您需要在此之后为所有参数说出来。

注意:保留其他所有内容,只需更正title参数即可。我清除了其他参数以使其可读。

答案 2 :(得分:0)

对我来说,问题是我混合了如何将参数发送给函数的语法......

让我们说这是函数声明:

def buttonbox(title="", msg="", choices="")

所有参数都是可选的

但是你混合使用了它:

easygui.buttonbox(title="enter your msg", msg, choices="some choices")

喜欢用

调用函数
func(a="",b,c="bla",d,e,f,g="b2") etc ..

所以它应该是argument = value:

easygui.buttonbox(title="enter your msg", msg=msg, choices="some choices")

或者只是价值,价值,价值:

easygui.buttonbox("enter your msg",msg,"some choices")

这就是为我解决的问题......也许其他人会发现它很有用。