Python 如何清除/删除Tkinter文本小部件的内容?

Python 如何清除/删除Tkinter文本小部件的内容?,python,tkinter,text-widget,Python,Tkinter,Text Widget,我正在Ubuntu上用TKinter编写一个Python程序来导入和打印 Textwidget中特定文件夹中的文件名。 它只是将文件名添加到文本中以前的文件名中 widget,但我想先清除它,然后添加一个新的文件名列表。 但我正在努力清除文本小部件先前的 文件名 有人能解释一下如何清除文本小部件吗 屏幕截图和编码如下所示: 我通过添加“1.0”进行检查,它开始工作 tex.delete('1.0', END) 您也可以尝试此根据tkinterbook清除文本元素的代码应为: text.del

我正在Ubuntu上用
TKinter
编写一个Python程序来导入和打印
Text
widget中特定文件夹中的文件名。 它只是将文件名添加到
文本中以前的文件名中
widget,但我想先清除它,然后添加一个新的文件名列表。 但我正在努力清除
文本
小部件先前的 文件名

有人能解释一下如何清除
文本
小部件吗

屏幕截图和编码如下所示:


我通过添加“1.0”进行检查,它开始工作

tex.delete('1.0', END)

您也可以尝试此

根据tkinterbook清除文本元素的代码应为:

text.delete(1.0,END)
这对我有用

这与清除条目元素不同,它是这样做的:

entry.delete(0,END)#注意0而不是1.0

from Tkinter import *

app = Tk()

# Text Widget + Font Size
txt = Text(app, font=('Verdana',8))
txt.pack()

# Delete Button
btn = Button(app, text='Delete', command=lambda: txt.delete(1.0,END))
btn.pack()

app.mainloop()
下面是前面提到的
txt.delete(1.0,END)
示例

使用
lambda
可以在不定义实际函数的情况下删除内容

这很有效

import tkinter as tk
inputEdit.delete("1.0",tk.END)
对我来说,“1.0”不起作用,但“0”起作用。这是Python2.7.12,仅供参考。还取决于导入模块的方式。以下是方法:

import Tkinter as tk
window = tk.Tk()
textBox = tk.Entry(window)
textBox.pack()
当需要清除时,将调用以下代码。在我的例子中,有一个按钮Save保存输入文本框中的数据,单击该按钮后,文本框被清除

textBox.delete('0',tk.END)
我认为:

text.delete("1.0", tkinter.END)
或者如果您从tkinter import*

text.delete("1.0", END)

这应该行得通

很多答案要求您使用
END
,但如果这对您不起作用,请尝试:

text.删除(“1.0”,“end-1c”)


这将删除文本框中的所有内容

您是否阅读了文本小部件的文档?此功能已清楚地记录在案。你说你在挣扎,你能告诉我们你尝试了什么吗?也许你能在这里写一句话来得到我的要求吗result@BryanOakley阅读文档似乎是一个很好的观点,尽管在我看来,tkinter文档需要某种转移工作。所以如果你问我:以问题的形式做更多的准备是很好的文档。因此,我有+1。@enthus1ast:我完全同意在线effbot.org文档还有很多需要改进的地方。因此,我没有使用它,而是经常使用由John Shipman为NM技术计算机中心编写的。谢谢,当我意识到我需要执行tex.config(state=NORMAL)才能删除它时,它就起作用了。
1.0
'1.0'
这两种方法都起作用。确保小部件的状态设置为正常,
tex.config(state=normal)
@TankorSmash您的评论有助于我理解错误。如果
state=disabled
,则它将不起作用。我收到此错误
self.Text\u box.delete('1.0',END)NameError:name'END'未定义
@NeoNØVÅ7
END
仅当您从Tkinter import*中执行了
操作时才起作用。如果您没有从Tkinter导入所有内容,那么您需要改为执行
tk.END
。我觉得奇怪的是
1.0
可以工作(尽管它确实可以),因为我的理解是Tkinter索引应该指定为类似
'1.0'
(在同一文档中的大多数其他地方也是如此)。虽然此代码可能会回答此问题,但提供有关此代码回答此问题的原因和/或方式的附加上下文会提高其长期值
'0'
在我尝试时给我一个错误,我相信正确的值是
'1.0'
,因此您的代码应该是
文本框。删除('0',tk.END)
如何设置用于查看文本数据的滚动条?这是@Fahadkalis在2015年发布的公认解决方案的副本。此答案已经提供。请不要添加重复答案。
text.delete("1.0", END)
text.delete(0, END)