tkintertable 数据如何更新

tkintertable data how to update

我正在使用从 github 克隆的 tkintertable git。基本上使用与 .

相同的示例

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

在下面的代码中,我添加了一个回调并使用 tkinter after() 进行调用。在回调中,它尝试向数据模型添加一行。我还尝试直接将 key/value 对添加到 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()

来自documentation

Update the table

This needs to be called to update the display after programmatically changing the table contents:

table.redraw()

所以你需要

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

它在我的电脑上运行。