我正在尝试创建一个代码,它将数据作为表返回。不幸的是,它返回12行和9列,即使我只有2个数据点可以显示。我的错误在哪里?
这是使用的代码:
import Tkinter as tk
from tkintertable.Tables import TableCanvas
class createTable(tk.Frame):
def __init__(self, master=None):
tk.Frame.__init__(self, master)
#########################################
self.master.grid_rowconfigure(0, weight=1)
self.master.grid_columnconfigure(0, weight=1)
self.grid_rowconfigure(0, weight=1)
self.grid_columnconfigure(0, weight=1)
self.grid(sticky=tk.NW+tk.SE)
#########################################
self.F = tk.Frame(self)
self.F.grid(row=0, column=0, sticky=tk.NW+tk.SE)
self.createWidgets()
def createWidgets(self):
self.table = TableCanvas(self.F,cellwidth=250, editable=False, )
self.table.createTableFrame()
model = self.table.model
model.importDict(d)
self.table.redrawTable()
if __name__ == '__main__':
f = open("./out.txt")
tempDic = {}
for var, line in enumerate(f):
if not "\t" in line and line != '\n':
key = line.replace(":","").strip()
tempDic[key] = []
elif line == '\n':
continue
else:
tempDic[key].append(line.replace("\t","").replace(" ","").strip().replace(":",""))
f.close()
a = 0
d = {}
#Visualize
for i, keys in tempDic.iteritems():
d['rec' + str(a)] = {'System': tempDic[i][0], 'Name': tempDic[i][2], 'Version': tempDic[i][1], 'IP': i}
a += 1
print d
app = createTable()
app.master.title('Visual')
app.mainloop()
答案 0 :(得分:1)
我明白了:表有一个预定义的模型,importDict()函数只能扩展。要修复它,只需创建一个新模型。