gpt4 book ai didi

Python Tkinter 用 StringVar 调用字典?

转载 作者:行者123 更新时间:2023-11-30 23:21:00 25 4
gpt4 key购买 nike

我正在 python 中使用 tkinter,我有一个恼人的错误,我似乎无法修复,尽管答案可能是显而易见的。

我试图用字符串调用字典,但由于某种原因我收到错误:类型错误:不可散列的类型:StringVar。以下是存在该问题的代码片段:

from Tkinter import *
gpa = Tk()

weightsy = {'0': 2, '.1': 6, '.25':.2, '.5':.56, '.75':75, '1':12}
acadw = StringVar()
acadw.set(".1")
print (weightsy.get(acadw)) #Here is the issue; it should return the integer 6.

mainloop()

有关额外信息,如果我删除 tkinter 相关代码(例如 import、gpa = Tk()、StringVar、.set、mainloop()),它就会起作用,所以我相信这是一个 tkinter 相关问题。

最佳答案

正如您必须调用 StringVar 对象的 set 方法一样,您还需要调用 get 来检索 str 数据。

print weightsy[acadw.get()]

字典不知道将您的对象转换为字符串,因此它尝试获取与 acadw 关联的值。您会得到一个 TypeError 而不是 KeyError,因为 StringVar 对象碰巧是不可散列的。

关于Python Tkinter 用 StringVar 调用字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25130717/

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