tkintertable数据如何更新

时间:2019-07-10 03:24:43

标签: python python-2.7 tkinter tkintertable

我正在使用从github克隆的tkintertable git。基本上使用与the other SO question相同的示例。

在tkinter进入主循环后,如何将原始数据添加到表中?您如何更新当前表中的数据?

在下面的代码中,我添加了一个回调并使用tkinter after()进行调用。在回调中,它尝试向数据模型添加一行。我还尝试将键/值对直接添加到data对象。他们俩都没有工作。

from Tkinter import *
from tkintertable.Tables import TableCanvas
from tkintertable.TableModels import TableModel
master=Tk()
tframe = Frame(master)
tframe.pack(fill='both')
data={'1': {'Klasa':'6A', 'E Hene': 1, 'E Marte': 2,'E Merkurre':3,'E Enjte':4,'E Premte':5},
      '2': {'Klasa':'', 'E Hene': 1, 'E Marte': 2,'E Merkurre':3,'E Enjte':4,'E Premte':5}}
model = TableModel()
table = TableCanvas(tframe,model=model)
table.createTableFrame()
model = table.model
model.importDict(data) #can import from a dictionary to populate model

def update_data(event=None):
    global data
    global model
    nk = "3"
    print "update_data \n"
    model.addRow(key=nk,
                 Klasa="333")
master.after(5000, update_data)

master.mainloop()

1 个答案:

答案 0 :(得分:1)

来自documentation

  

更新表格

     

需要以编程方式调用此命令以更新显示   更改表内容:

model.addRow(key=nk, Klasa="333")
table.redraw()

所以你需要

{{1}}

它可以在我的计算机上工作。