You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tkinter同一窗口创建2个Treeview报Invalid column index PID错误

报错根因

报错和IDE是否能区分控件无关,是编写第二个Treeview(self.treer)的列配置逻辑时出现笔误:
你遍历的是self.treer的列定义(其中包含PID列),但调用列配置、表头配置方法时,操作的是第一个Treeview实例self.tree,而self.tree从未定义过PID列,因此触发Invalid column index PID错误。
对应出错的原代码段:

for i,j in zip(self.treer['columns'],self.headingsr):
    # 这里错误使用了self.tree而非self.treer作为操作对象
    self.tree.column(i,anchor= CENTER,width= 150, minwidth= 150)
    self.tree.heading(i,text = j, anchor = CENTER)

另外代码还存在一处功能缺陷:第二个Treeview绑定的滚动条self.yscrollr未完成关联配置,运行时无法正常滚动。

修复步骤
  • 修正第二个Treeview列配置循环的操作对象,将循环内的self.tree替换为self.treer,修正后代码:
for i,j in zip(self.treer['columns'],self.headingsr):
    self.treer.column(i,anchor= CENTER,width= 150, minwidth= 150)
    self.treer.heading(i,text = j, anchor = CENTER)
  • 补充第二个滚动条的关联与布局配置,放在原有滚动条配置代码旁即可:
# 原有第一个Treeview的滚动条绑定
self.scroll.config(command = self.tree.yview)
# 新增第二个Treeview的滚动条绑定
self.yscrollr.config(command = self.treer.yview)
self.yscrollr.pack(side = RIGHT, fill = Y)

修改完成后即可正常运行,两个Treeview控件互不干扰,滚动功能也可正常使用。

内容的提问来源于stack exchange,提问作者Abdullah Kaya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 19:21:30