我正在尝试将堆列表中的2列填充到GUI上的文本小部件中。我在下面包含了我的代码。 self.top5是我的列表,显示按降序排序的前5个元素
self.tableSize = 25
self.hashTable = [[] for i in range(25)]
self.top5 = [(0,0) * 5]
创建堆,验证hashkey,追加等
self.top5 = (heapq.nlargest(5,heap)
self.text.tag_configure('big',foreground = '#5C0000',font('Verdana',9,'bold'))
self.text.tag_configure('sub',foreground = '#000000',font('Verdana',9,'bold'))
self.text.tag_configure('val',foreground = '#000000',font =('Verdana',9))
self.text.insert(INSERT,"\nEMP STATISTICS:",'big')
self.text.insert(END,"\n")
self.text.insert(INSERT,"EMP NUMBER:",'sub')
self.text.insert(END,"\t")
self.text.insert(INSERT,self.eID,'val')
self.text.insert(END,",")
self.text.insert(INSERT,"EMP NAME:",'sub')
self.text.insert(END,"\t")
self.text.insert(INSERT,self.eName,'val')
self.text.insert(END,",")
for k in self.top5:
self.text.insert(INSERT,k[0],'val')
self.text.insert(END, "\t\t")
self.text.insert(INSERT,k[1],'val')
self.text.insert(END,"\t\t\t")`
当我运行我的程序时,我的屏幕上什么也没出现。虽然没有错误。此外,我首先插入我的heapq,然后使用nlargest获取top5详细信息。
有人可以解释为什么我无法在GUI上看到任何数据?当我在某些检查点使用print语句时,它可以工作,我可以在终端上看到正确的输出。我是新手,请原谅我,如果它太愚蠢/明显。
答案 0 :(得分:0)
我非常确定要显示您需要的GUI:
root = tkinter.Tk()
root.title("YOUR TITLE HERE")
然后你需要在想要在GUI上显示的任何内容之后使用pack()
,一旦完成,你需要root.mainloop()
来完全显示GUI。