您好我正在学习在python 2.7中使用Tkinter。我正在编写一个程序,使用用户帐户来选择一组不同的规则。在我的程序中,我试图让它成为用户可以点击; “新用户”或“现有用户”。问题是我使用的是tkinter,optionmenu的语法如下。
option = OptionMenu(master, var, "one", "two", "three", "four")
option.pack()
如图所示,“One”,“two”和“three”是列表中的所有选项,我想用用户名替换它们。问题是如何获取可变的用户名列表,并将该列表输入到此选项字段中?我曾经尝试过使用元组但是可以使用...有人帮助我!
答案 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)。