如何从Tkinter选项菜单中获取选定值



我正试图从下面的OptionMenu中获取所选选项,但无法全局使用所选值。

def callback(selection):
print(selection)
return selection 
yearl=Label(Frame1, text='Select Year ',font=("Helvetica", 10) ).place(relx=-0.3, rely=-1.40)
valueyear= ['2018', '2019', '2020','2021', '2022', '2023']
n =StringVar(Frame1) 
n.set(valueyear[0])
yearchoosen = OptionMenu(Frame1, n, *valueyear, command=callback).place(relx=0.3, rely=-1.45, 
width=160)

在回调函数中,我得到了正确的选择值,但我也想在其他函数中使用选择值。

您可以在函数外或代码中的任何地方使用该值,这一切都很好,因为您在主块上定义它:

def callback(selection):
print(n.get())

yearl = Label(Frame1, text='Select Year ',font=("Helvetica", 10) )
yearl.place(relx=-0.3, rely=-1.40)
valueyear = ['2018', '2019', '2020','2021', '2022', '2023']
n = StringVar(Frame1) 
n.set(valueyear[0])
yearchoosen = OptionMenu(Frame1, n, *valueyear, command=callback,variable=n)
yearchoosen.place(relx=0.3, rely=-1.45, width=160) #so yearchoosen wont return None

CCD_ 1和CCD_。

要测试这一点,只需制作一个伪函数:

def dummy():
print('This is the value from the option menu',n.get())
dummy_b = Button(Frame1, text='Dummy',command=dummy)
dummy_b.pack()

单击此按钮时,还会返回从OptionMenu中选择的值。

最新更新