gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 21:56:13 24 4
gpt4 key购买 nike

我正在尝试从 python3.3 中的 OptionMenu tkinter 小部件获取列表变量。

widget是这样写的;

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 是我需要调用的设置。但是当我调用它时,我得到了一些看起来像内存位置的东西。

print(my_opmenu.cget('menu'))
>>.24620080.24620272.25126224.25126352.25126736.menu

显然内存位置不是恒定的。有什么方法可以返回人类值(value)(即 list1)。

最佳答案

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

menu 属性返回一个 Menu 类的实例。它也不会知道您的列表的任何信息。

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

my_opmenu.list = list1

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

print "my list:", my_opmenu.list

关于python - 如何从 tkinter OptionMenu 获取列表变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21814567/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com