如何从Tkinter OptionMenu获取选定的值

我正在尝试从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)

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

kyo0616 回答:如何从Tkinter OptionMenu获取选定的值

您可以在函数外部或代码中的任何位置使用该值,并且可以很好地使用它,因为您可以在主块上对其进行定义:

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

nn.get()可以从代码的任何位置访问。

要对此进行测试,只需创建一个虚拟函数即可:

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中选择的值。

本文链接:https://www.f2er.com/1337124.html

大家都在问