如何从 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)

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


慕的地10843
浏览 70回答 1
1回答

慕娘9325324

您可以在函数外部或代码中的任何位置使用该值,这一切都很好,因为您在主块上定义了它: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 Nonen并且n.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.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python