Tkinter选项菜单

时间:2013-09-08 20:48:36

标签: python list tkinter

您好我正在学习在python 2.7中使用Tkinter。我正在编写一个程序,使用用户帐户来选择一组不同的规则。在我的程序中,我试图让它成为用户可以点击; “新用户”或“现有用户”。问题是我使用的是tkinter,optionmenu的语法如下。

    option = OptionMenu(master, var, "one", "two", "three", "four")
    option.pack()

如图所示,“One”,“two”和“three”是列表中的所有选项,我想用用户名替换它们。问题是如何获取可变的用户名列表,并将该列表输入到此选项字段中?我曾经尝试过使用元组但是可以使用...有人帮助我!

1 个答案:

答案 0 :(得分:4)

您可以使用* - 运算符来解压缩参数列表,如下所示:

...
options = ['one', 'two', 'three', 'four']
option = OptionMenu(master, var, *options)
option.pack()
...

有关解压缩参数的更多信息,请访问:http://docs.python.org/2/tutorial/controlflow.html#unpacking-argument-lists

您应该注意,* - 运算符也可用于接受任意数量的参数,例如:

def print_names(*names):
    for name in names:
        print(name)

print_names('Bob', 'James', 'Harry')

哪个会输出:

Bob
James
Harry

还存在** - 运算符,它以非常类似的方式工作,除了它使用关键字参数。如果您想了解有关这些运算符及其用法的更多信息,我强烈建议您访问我上面链接的文档文章(相关信息从此处开始:http://docs.python.org/2/tutorial/controlflow.html#keyword-arguments)。