1
我正在试图使一个Optionmenu-Widget与传递变量一起工作。
当用户点击菜单中的选项时,我需要传递两个变量。将变量和选项菜单选择传递给方法
self.frameX = Frame(self.frameTwo, background="red", width= 370, height=35)
self.frameX.pack_propagate(0)
self.frameX.pack(side=TOP)
self.names = [1,2,3,4,5]
#Just for demonstration, some random number i
#should be saved and passed onchange optionmenu.
i = random.randint(0, 10)
self.var = StringVar()
self.var.set("Numbers")
#When the user selects an option, this function should
#pass i and the variable, which is what the user selected to the callback function.
self.var.trace("w", lambda i=i: self.callback(i, self.var.get()))
self.options = OptionMenu(self.frameX, self.var, *self.names)
self.options.place(x=180, y=5)
self.options.pack()
self.frameX.pack()
def callback(self, n, g):
print(n)
print(g)
如果任何人都可以帮我解决这个问题,那将是非常好的和赞赏的。
看来有一些代码缺失,请你张贴http://stackoverflow.com/help/mcve – Altoyyr
我添加了self.names列表。唯一缺少的是frameX,但对于这种特殊情况来说并不重要? – PushALU
我不太熟悉tkinter,但我发现你的问题很有趣。 MCVE会很好,所以像我这样的人可以帮助你。 – Altoyyr