我正在尝试在 GUI 列表框中显示一些信息。我在 MVC 的仅模型部分中编写了一个测试方法,它输出我想要的信息;但是,当我将该代码传输到完整的 GUI 时,它会引发错误。
下面是两段代码:
模型:(注意这个方法是为一个类写的Products()
)
def test(self):
for key in self._items_list:
print self.get_item(key) #this refers to the get_item function of the Products class:
def get_item(self, key):
return self._items_list[key] # items_list is a dictionary
因此,这将返回我想放入列表框中的输出。
这是我将代码传输到我的 GUI 的方式(这是在我定义的继承自 Listbox 的类中):
def refreshData(self):
for keys in self._productslist: #this productslist is equivalent to items_list
disp = self._products.get_item(keys) #so i can call the method from the Product class
self.insert(END, dips)
当我尝试打开并显示文件时,这会引发以下错误:
...in get_item
return self._items_list[key]
TypeError: unhashable type: 'list'
抱歉,这很长而且可能非常令人困惑,但基本上我想知道为什么我在完整版本的代码中而不是在隔离模型中得到该方法的错误。
据我所知,所有相关代码都是相同的。
任何想法将不胜感激!