Tkinter Treeview确认数据已插入但界面无显示的问题求助
Tkinter Treeview确认数据已插入但界面无显示的问题求助
我现在用Python的Tkinter开发一个管理面板,用ttk.Treeview来展示计算后的薪资数据。我调用了tree.insert(...)方法插入数据,而且通过以下代码可以确认数据确实已经存在:
tree.get_children() tree.item(child_id)["values"]
数据确实已经插入了,但奇怪的是Treeview界面始终是空白的——完全看不到任何行。
目前我已经确认了这些情况:
- 启动程序时插入的测试行能正常在界面显示
- 计算生成的行通过控制台能查到数据,但界面上就是看不到
- 列的数量和插入的值的数量是匹配的(一共9列)
- 整个过程没有抛出任何错误
我的Treeview是这样定义的:
tree = ttk.Treeview(parent, columns=(...), show="headings") tree.pack(fill="both", expand=True) for col in columns: tree.heading(col, text=col) tree.column(col, width=130, anchor="center")
我已经尝试过这些解决方法,但都没效果:
- 把Treeview嵌套在一个专门的Frame里
- 调用
update_idletasks()方法 - 反复验证插入的值的数量是否和列数匹配
- 用
.get_children()和.item()方法确认数据确实存在于Treeview中
还有哪些可能的原因会导致明明数据已经存在,但行却在界面上不可见呢?
备注:内容来源于stack exchange,提问作者bastrees




