如何清除/删除 Tkinter "ScrolledText" 小部件的内容?



我使用python tkinter制作GUI,并使用ScrolledText小部件保存日志(我遵循此链接:https://beenje.github.io/blog/posts/logging-to-a-tkinter-scrolledtext-widget/)。

我想清除ScrolledText时,点击一个重新运行按钮,并记录新的日志到ScrolledText。

我代码:

import tkinter as tk
import tkinter.scrolledtext
class MainPage(tk.Frame)
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
self.controller = controller
self.button_start = tk.Button(self, text='START', command=self.on_rerun_button)
self.button_start.grid(row=7, column=0, columnspan=2, padx=5, pady=5, sticky='NSWE')
self.scrolledtext_log = tk.scrolledtext.ScrolledText(self, state='disabled')
self.scrolledtext_log.configure(font='TkFixedFont')
self.scrolledtext_log.grid(row=0, column=2, rowspan=8, columnspan=8, sticky='NSWE')

def on_rerun_button(self):
self.scrolledtext_log.delete('1.0', tk.END) #but it doesn't work here
# run something here...

请帮帮我,谢谢~~~

您需要启用用于编辑的文本小部件。在您的函数中,您可以暂时重新启用小部件,然后再次禁用它。

def on_rerun_button(self):
self.scrolledtext_log.configure(state='normal')
self.scrolledtext_log.delete('1.0', tk.END)
self.scrolledtext_log.configure(state='disabled')

最新更新