如何从tkinter OptionMenu获取列表变量?

2024-04-18 16:50:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从python3.3中的OptionMenutkinter小部件获取list变量。在

小部件是这样写的

list1 = ['One', 'Two', 'Three']
var1 = tkinter.StringVar()
var1.set(list1[0])

window = tkinter.Tk()
my_opmenu = tkinter.OptionMenu(window, var1, *list1)
my_opmenu.grid()
window.mainloop()

我知道您可以使用cget()方法来检索小部件的配置,我认为在OptionMenu小部件my_opmenu的上下文中是我需要调用的设置。但当我调用它时,我得到了一个看起来像是记忆位置的东西。在

^{pr2}$

显然,内存位置不是固定不变的。有没有什么方法可以让我返回一个人类值(即list1)。在


Tags: 方法部件tkintermywindowonelistthree
1条回答
网友
1楼 · 发布于 2024-04-18 16:50:31

您无法获取列表变量,因为小部件对列表变量一无所知。创建小部件时,您将从列表小部件中提供,而不是列表本身。在

menu属性返回Menu类的实例。它也不会知道你的名单。在

如果要将列表与小部件关联,请将其设置为属性:

my_opmenu.list = list1

稍后,当您想要回列表时,可以执行以下操作:

^{pr2}$

相关问题 更多 >