在Tkinter中,我如何从文本部件中删除内容。在我的程序中,我用它来显示运行日志。我想限制显示的行数,即在达到特定的行数限制后,我想并行删除旧内容。下面是在Text Widget中进行内容修改的代码片段。正如你所看到的,一旦插入了25行,我使用“删除”方法删除1行。但奇怪的是,在显示了25行后,它清除了整个小部件,然后在后续的这个类的调用中添加一行,并在一段时间后删除它。有人可以帮我解决这个问题。从文本部件中删除内容
class TextRedirector(object):
def __init__(self, widget, tag="stdout"):
self.widget = widget
self.tag = tag
def write(self, str):
global linecount
linecount = linecount + 1
self.widget.configure(state="normal")
self.widget.insert("end", str, (self.tag,))
self.widget.update()
if linecount > 25:
self.widget.delete('1.0', '2.0')
self.widget.see('end')
self.widget.configure(state="disabled")
在我看来'删除'应该是整数参数,但也许我只是疯了... – mgilson
@mgilson:删除需要表示为“line.column”(或标签名称)的索引。 –
@BryanOakley - 感谢您为我清理。我想答案是“mgilson,你只是疯了”。 – mgilson