python - 如何将包含空格的字符串添加到 Tkinter Treeview 列
问题描述
我使用 tree.insert 方法将数据插入到树视图小部件中。在 values 选项下,我指定了获取数据的字符串变量。如果字符串包含空格,则字符串将被分解为较小的字符串,这些字符串被放入列表中。如何将数据添加到树视图列而不将其截断为第一个空格?
谢谢你。
import tkinter as tk
from tkinter import ttk
app = tk.Tk()
tree = ttk.Treeview(app)
tree.grid(row=0, column=0)
tree.config(columns=('Value1'), selectmode='browse')
tree.column('#0', width=150, minwidth=10, stretch=tk.YES)
tree.column('Value1', width=80, minwidth=10, stretch=tk.YES)
tree.heading('#0', text='Name', anchor=tk.W)
tree.heading('Value1', text='Value', anchor=tk.W)
data = [['John', '123456'], ['Mary', '123 456'], ['Edward', 'abcdef'], ['Lisa', 'ab cd ef']]
for item in data:
print(item[1], type(item[1]))
tree.insert("", 'end', item[0], text=item[0], values=item[1])
print(tree.item(item[0])['values'], type(tree.item(item[0])['values']))
app.mainloop()
解决方案
values
期望一个可迭代的,所以当你将 a 传递string
给它时,它往往会做一些奇怪的事情。在代码中修复它的最简单方法是将其作为元组传递:
tree.insert("", 'end', item[0], text=item[0], values=(item[1],))
推荐阅读
- c# - 如何在 ASP.NET MVC 中上传文件
- fortran - 指向返回数组的抽象类的指针数组的函数
- python - 与 Seaborn 一起分发
- sql - 为什么在 SQL 中使用 LEAD 时在 OVER 中需要 order by?
- javascript - 取消请求时在axios拦截器中获取请求参数
- javascript - 如何在 React.js 上使用 js tinymce 函数
- javascript - 太多的事件监听器正在减慢点击响应
- node.js - 访问节点 pdf-poppler 中转换后的文件名
- elixir - 在 Ecto Elixir 中分页 union_all 查询
- django - django db ProgrammingError