如何将Tkinter中Treeview控件的值转换为指定格式的字典
Tkinter ttk.Treeview数据转字典列表实现方案
实现逻辑
- 先获取Treeview控件预先定义的所有列名
- 遍历Treeview内的所有行记录
- 逐行将列名与对应单元格值映射为字典,最终拼接为符合要求的列表
补全后的save方法代码
def save(self): # 获取treeview的所有列名 columns = self.tex_table["columns"] # 初始化结果列表 result = [] # 遍历所有行的唯一ID for row_id in self.tex_table.get_children(): # 获取当前行的所有单元格值 row_values = self.tex_table.item(row_id)["values"] # 列名与值配对生成字典,加入结果列表 row_dict = dict(zip(columns, row_values)) result.append(row_dict) # 测试输出,可根据实际需求替换为保存到文件/数据库等逻辑 print("转换后的数据:", result)
效果验证
如果添加两条记录:
- 第一条item填apple,amount填5000
- 第二条item填orange,amount填1000
点击保存后输出的结果完全符合预期格式:[{'item':'apple','amount':'5000'}, {'item':'orange','amount':'1000'}]
注:你给出的参考示例里第二个字典的amount'='1000'为笔误,实际输出为标准字典格式的冒号分隔
内容的提问来源于stack exchange,提问作者Sakthi Subramani
相关产品推荐
相关产品推荐

