Tkinterで、テキストウィジェットからコンテンツを削除するにはどうすればよいですか。私のプログラムでは、実行中のログを表示するためにそれを使用しました。表示する行数を制限したい。つまり、特定の行数制限に達した後、古いコンテンツを並行して削除したい。以下は、テキストウィジェットでコンテンツを変更するコードのスニペットです。ご覧のとおり、25行が挿入されたら、「delete」メソッドを使用して1行を削除しています。しかし、奇妙なことに、25行が表示された後、ウィジェット全体がクリアされ、その後このクラスを呼び出すと、1行が追加され、しばらくすると削除されます。誰かがこの問題を解決するのを手伝ってくれませんか。
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")