¿Cómo borrar / eliminar el contenido de un widget de texto Tkinter?

Estoy escribiendo un progtwig Python en TKinter en Ubuntu para importar e imprimir el nombre de los archivos de una carpeta en particular en el widget de Text . Solo está agregando nombres de archivo a los nombres de archivo anteriores en el widget de Text , pero primero quiero borrarlos y luego agregar una nueva lista de nombres de archivos. Pero estoy luchando para borrar la lista anterior de nombres de archivo del widget Text .

¿Alguien puede explicar cómo borrar un widget de Text ?

Captura de pantalla y encoding se da a continuación:

Captura de pantalla que muestra el widget de texto con contenidos.

 import os from Tkinter import * def viewFile(): path = os.path.expanduser("~/python") for f in os.listdir(path): tex.insert(END, f + "\n") if __name__ == '__main__': root = Tk() step= root.attributes('-fullscreen', True) step = LabelFrame(root, text="FILE MANAGER", font="Arial 20 bold italic") step.grid(row=0, columnspan=7, sticky='W', padx=100, pady=5, ipadx=130, ipady=25) Button(step, text="File View", font="Arial 8 bold italic", activebackground= "turquoise", width=30, height=5, command=viewFile).grid(row=1, column=2) Button(step, text="Quit", font="Arial 8 bold italic", activebackground= "turquoise", width=20, height=5, command=root.quit).grid(row=1, column=5) tex = Text(master=root) scr=Scrollbar(root, orient=VERTICAL, command=tex.yview) scr.grid(row=2, column=2, rowspan=15, columnspan=1, sticky=NS) tex.grid(row=2, column=1, sticky=W) tex.config(yscrollcommand=scr.set, font=('Arial', 8, 'bold', 'italic')) root.mainloop() 

Revisé mi lado simplemente agregando ‘1.0’ y comenzó a funcionar

 tex.delete('1.0', END) 

también puedes probar esto

De acuerdo con el tkinterbook, el código para borrar un elemento de texto debe ser:

 text.delete(1.0,END) 

Esto funcionó para mí. fuente

Es diferente de borrar un elemento de entrada, que se hace así:

entry.delete (0, END) # note el 0 en lugar de 1.0

esto funciona

 import tkinter as tk inputEdit.delete("1.0",tk.END) 
 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() 

Aquí hay un ejemplo de txt.delete(1.0,END) como se mencionó.

El uso de lambda nos permite eliminar los contenidos sin definir una función real.

Espero que ayude

para mí “1.0” no funcionó, pero ‘0’ funcionó. Esto es Python 2.7.12, solo para tu información. También depende de cómo se importa el módulo. Así es cómo:

 import Tkinter as tk window = tk.Tk() textBox = tk.Entry(window) textBox.pack() 

Y se llama al siguiente código cuando necesita borrarlo. En mi caso, había un botón Guardar que guarda los datos del cuadro de texto Entrada y después de hacer clic en el botón, el cuadro de texto se borra.

 textBox.delete('0',tk.END)