我想使用tkinter将pandas数据帧显示为treeview。所以我填充了treeview,找到了滚动条,但尽管它们可以滚动,但树本身却不能。显示数据的方法可能有问题。 这是我的密码:
def initialize_data(root, data):
def row_select(event):
selected_item = tree.selection()[0]
edit_row_window(tree.item(selected_item, option="values"), columns, selected_item)
table_frame = tk.Frame(root)
tree = ttk.Treeview(table_frame, selectmode='browse')
tree.bind("<Double-1>", row_select)
columns = data.columns.values.tolist()
tree["columns"] = columns
scrl = tk.Scrollbar(table_frame, command=tree.yview(), orient="vertical")
scrl.pack(side=tk.LEFT, fill=tk.Y)
scrl2 = tk.Scrollbar(table_frame, command=tree.xview(), orient="horizontal")
scrl2.pack(side=tk.BOTTOM, fill=tk.X)
tree.configure(yscrollcommand=scrl.set)
tree.configure(xscrollcommand=scrl2.set)
for col in columns:
tree.column(col, width=75)
tree.heading(col, text=col)
for i in range(len(data)):
tree.insert("", i, values=data.iloc[i, :].tolist())
tree.pack(side='left', anchor='center')
table_frame.pack(side=tk.BOTTOM)
谢谢
command=tree.yview()
需要是command=tree.yview
。使用xview
也是如此当您执行
command=tree.yview()
时,您将立即调用tree.yview()
,然后将结果分配给command
属性。command
属性需要对可调用函数的引用相关问题 更多 >
编程相关推荐