【问题标题】:Displaying Dictionary Keys in Tkinter Treeview在 Tkinter 树视图中显示字典键
【发布时间】:2021-01-03 22:21:08
【问题描述】:

我有一个网站列表、产品标题、价格和库存状态作为一个名为“masterlist”的字典中的密钥对。

masterlist = [{'store': 'examplestore1.com', 'title': 'exampletitle1', 'price': '£99', 'stock': 'Sold Out'}, {'store': 'examplestore2.com', 'title': 'exampletitle2', 'price': '£12.99', 'stock': 'Sold Out'}]

我正在尝试使用 tkinter 在简单的树视图中显示它,我创建了树视图但无法插入值。非常感谢任何帮助!

【问题讨论】:

  • 请添加您尝试过的可重现代码
  • 你有多少这样的字典?如果我没记错的话,这应该是Treeview 的一行。
  • 我会尝试发布一些我尝试过的代码,现在它被合并到一个 tkinter GUI 中,它还有很多其他的事情要做。 @CoolCloud我的字典中有大约40行,即40个不同的商店,我相信从我的例子中我应该在树视图中有两行,因为有两个商店,但是我无法使用字典键插入它们。理想情况下,我应该有一个带有标题“商店”、“标题”、“价格”、“库存”等的树视图,并且每个商店的信息都显示在标题下方
  • 这是您要找的吗?:stackoverflow.com/a/65530603/12198502

标签: python dictionary tkinter treeview


【解决方案1】:

您需要运行一个循环,为列表中的每个字典添加值。

假设您的树视图的名称是“树视图”,以下代码将起作用:

for index, value in enumerate(masterlist):
    treeview.insert("", 'end', values=(
       masterlist[index]['store'],            
       masterlist[index]['title'],
       masterlist[index]['price'],
       masterlist[index]['stock'])
       )

【讨论】:

    【解决方案2】:

    您可以简单地遍历列表并使用Treeview.insert() 函数插入记录:

    # "tv" is the instance of Treeview
    for row in masterlist:
        tv.insert("", "end", values=(row["store"], row["title"], row["price"], row["stock"]))
    

    【讨论】:

    • 感谢两位提供循环解决方案@ZisheSchnitzler
    猜你喜欢
    • 2017-01-25
    • 2019-11-23
    • 1970-01-01
    • 1970-01-01
    • 2018-09-21
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多