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