如何重新初始化Tkinter中的文本小部件?
问题描述:
我想在GUI本身返回用户的搜索结果。 这是下面的代码,我使用如何重新初始化Tkinter中的文本小部件?
def printResult(searchResult):
global resultsFrame
text = Text(resultsFrame)
for i in searchResult:
text.insert(END,i+'\n')
text.pack(side=TOP)
其中信息搜索结果是具有所有的语句在屏幕上打印的清单,这是我在代码中声明resultsFrame(root.mainloop前() ) 我正在使用全局,因此它会更改现有框架,但它会在其下面添加另一个框架。 如何在已有的文本小部件中进行更改?
resultsFrame = Frame(root)
resultsFrame.pack(side=TOP)
为了参考这里是GUI的图像:
编辑: 问题解决
我声明的功能外框架
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)
答
试试这个:
global resultsFrame
text = Text(resultsFrame)
def printResult(searchResult):
for i in searchResult:
text.insert(END,i+'\n')
...
text.pack(side=TOP)
这应该解决您的问题。
您是否阅读过文档?插入和删除文本的方法都是有据可查的。 –
我曾尝试删除,但问题是函数每次按下提交按钮时会被调用,并且它最终会在框架中添加一个文本控件。/ 我确实使用了.delete(“1.0”,END) –
删除每次创建新文本小部件的代码。只需在程序启动时创建一次。 –