如何在Tkinter中重新初始化文本小部件?

时间:2016-09-24 16:43:16

标签: python python-2.7 user-interface tkinter

我试图在GUI本身中返回用户的搜索结果。 这是我正在使用的以下代码

def printResult(searchResult):
global resultsFrame
text = Text(resultsFrame)

for i in searchResult:
    text.insert(END,i+'\n')
text.pack(side=TOP) 

其中searchResult是一个列表,其中包含要在屏幕上打印的所有语句,这就是我在代码中声明resultsFrame的方式(在root.mainloop()之前) 我正在使用全局,以便它对现有框架进行更改,但它在其下面添加了另一个框架。 如何在现有的文本小部件中进行更改?

resultsFrame = Frame(root)
resultsFrame.pack(side=TOP)

此处参考是GUI的图像:

Creation of new Text widget

编辑: 问题已解决

我在功能

之外宣布了框架
resultsFrame = Frame(root)
resultsFrame.pack(side=TOP)
text = Text(resultsFrame)

def printResult(searchResult):
   global resultsFrame
   global text
   text.delete("1.0",END)
   for i in searchResult:
       text.insert(END,str(i)+'\n')
   text.pack(side=TOP) 

1 个答案:

答案 0 :(得分:2)

试试这个:

global resultsFrame
text = Text(resultsFrame)

def printResult(searchResult):
    for i in searchResult:
        text.insert(END,i+'\n')
...
text.pack(side=TOP) 

这可以解决您的问题。