GUI リスト ボックスに情報を表示しようとしています。必要な情報を出力する MVC のモデルのみの部分にテスト メソッドを記述しました。ただし、そのコードを完全な GUI に転送すると、エラーがスローされます。
以下に 2 つのコードを示します。
モデル: (このメソッドはクラス用に記述されていることに注意してください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'
申し訳ありませんが、これは長く、おそらく非常に紛らわしいですが、本質的に、分離モデルではなく、コードの完全バージョンでメソッドのエラーが発生する理由を知りたいです。
私が知る限り、関連するコードはすべて同じです。
どんなアイデアでも大歓迎です!