Tkinter - 仅显示OptionMenu中数组的填充值

时间:2014-01-31 11:18:46

标签: python arrays tkinter optionmenu

我有以下代码:

self.array_lt = ['foo', 'bar', '', 'moo']
var = StringVar()
self.menult = OptionMenu(randomwindow, var, *self.array_lt)
self.menult.config(width=30)
self.menult.grid(row=0, column=0, padx=(5,5), pady=(5,5))

这会向我显示OptionMenu,其中包含四个值,foobar(the empty space)moo

如何在不显示数组空值的情况下显示OptionMenu?换句话说,我想在foo上仅显示barmooOptionMenu,并忽略空白区域。

array_ly只是一个例子,我想要总是忽略一些空格。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以将filterNone一起用作过滤器函数,以过滤掉在被解释为布尔值时评估为False的值:

>>> filter(None, ["1", 0, " ", "", None, True, False, "False"])
['1', ' ', True, 'False']

将列表传递给OptionMenu

时使用此选项
self.menult = OptionMenu(randomwindow, var, *filter(None, self.array_lt))