【发布时间】:2016-11-20 23:35:22
【问题描述】:
我是 Tkinter 的新手。我尝试了 Tkinter 提供的一些小部件,但找不到合适的方式来显示数据框。
我试过Tkinter.Text。我使用update() 而不是mainloop(),因为我想更新df 并再次显示。 mainloop() 将阻止我的程序。这种方法的问题在于,当df 变大时,无法完全显示。
import pandas
import numpy as np
import Tkinter
root = Tkinter.Tk()
t1 = Tkinter.Text(root)
t1.pack()
df = pandas.DataFrame(np.random.randn(900,2),columns=list('AB'))
t1.insert('end', df)
root.update()
我也试过Tkinter.Lablel。它实际上是一个一个地插入df 的条目,非常慢。
from Tkinter import *
for i in range(900):
for j in range(4):
l = Label(text='%d.%d' % (i, j), relief=RIDGE)
l.grid(row=i, column=j, sticky=NSEW)
mainloop()
那么显示数据框最简单的方法是什么(无需编辑)?具体来说,它应该或多或少看起来像一个带有滚动条的 Excel 电子表格,并允许显示的 df 被更新并再次显示。此外,如果df 有数百行,则应该不会花费太长时间。
谢谢。
【问题讨论】:
-
欢迎来到 SO。尽管您的问题听起来不错,但我建议在底部的问题中总结您的需求(“很好”这个词太模糊了)。最好的问候。
-
@YakovL 感谢您的建议。我在问题末尾添加了我的需求。
-
看起来 this 完全符合您的要求。