我正在尝试在可滚动的tkinter网格中显示熊猫数据框,但是滚动条不起作用。下面是我的代码。
root = Tk()
canvas = Canvas(root, borderwidth=0)
vbar=Scrollbar(root,orient=VERTICAL)
vbar.pack(side=RIGHT, fill=Y)
vbar.config(command=canvas.yview)
hbar=Scrollbar(root,orient=HORIZONTAL)
hbar.pack(side=BOTTOM, fill=X)
hbar.config(command=canvas.xview)
canvas.config(xscrollcommand=hbar.set)
canvas.config(yscrollcommand=vbar.set)
canvas.pack(side="left", fill="both", expand=True)
frame = Frame(canvas)
frame.pack(side=TOP)
canvas.create_window(0,0,anchor='nw',height=300,width=300,window=frame)
for r in range(df.shape[0]-20):
for c in range(df.shape[1]):
Label(canvas, text=str(df.iloc[r,c]), borderwidth=1).grid(column=c*2, row=r*2)
#tkinter.ttk.Separator(frame, orient=HORIZONTAL).grid(column=c*2, row=r*2+1, sticky='ew')
#tkinter.ttk.Separator(frame, orient=VERTICAL).grid(column=c*2+1, row=r*2, sticky='ns')
root.mainloop()
“ df”是熊猫数据框。当我运行此代码时,数据显示在窗口中,但滚动条是不与窗口交互的固定项目。另外,当我取消对// ed行的注释时,该代码似乎可以永远运行,这使我认为这些行需要花费大量时间。