Comment effacer/supprimer le contenu d'un Tkinter widget de Texte?
Je suis en train d'écrire un programme en Python dans TKinter
sur Ubuntu pour l'importation et l'imprimer
le nom de fichiers à partir du dossier particulier dans Text
widget.
C'est juste l'ajout de noms de fichiers à la précédente filnames dans le Text
widget, mais je veux l'effacer, puis ajouter une nouvelle liste de noms de fichiers.
Mais j'ai du mal à effacer le Text
widget précédent de la liste des
les noms de fichiers.
Quelqu'un peut-il m'indiquer comment effacer un Text
widget?
Screenshoot et de codage est de donner ci-dessous:
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()
Avez-vous lu toute la documentation pour le widget de texte? Cette fonction est clairement documenté. Vous dites que vous avez du mal, pouvez-vous nous montrer ce que vous avez essayé?
Peut-être que effbot.org/tkinterbook/entry.htm#Tkinter.Entry.delete-method
Pouvez-vous svp écrire une déclaration ici pour obtenir mon résultat requis
j'ai écrit cette commande, mais elle n'est pas efficace tex.delete('0' à la FIN)
la lecture de la documentation semble être un bon point même si à mon avis le tkinter besoins de documentation certain type de transfert de l'effort. Donc, si vous me demandez: plus de documentation sous la forme d'une question est une bonne documentation. Donc +1 à partir de moi.
Peut-être que effbot.org/tkinterbook/entry.htm#Tkinter.Entry.delete-method
Pouvez-vous svp écrire une déclaration ici pour obtenir mon résultat requis
j'ai écrit cette commande, mais elle n'est pas efficace tex.delete('0' à la FIN)
la lecture de la documentation semble être un bon point même si à mon avis le tkinter besoins de documentation certain type de transfert de l'effort. Donc, si vous me demandez: plus de documentation sous la forme d'une question est une bonne documentation. Donc +1 à partir de moi.
OriginalL'auteur Fahadkalis | 2015-01-15
Vous devez vous connecter pour publier un commentaire.
J'ai vérifié de mon côté, par le simple ajout de '1.0' et commencer à travailler
vous pouvez également essayer cette
1.0
ou'1.0'
à la fois le travail. Assurez-vous que l'état du widget est normal,tex.config(state=NORMAL)
.OriginalL'auteur Fahadkalis
Selon la tkinterbook le code pour effacer un élément de texte devrait être:
Cela a fonctionné pour moi. source
C'est différent de d'effacement d'une entrée de l'élément, qui est fait de cette manière:
entrée.delete(0,END) #note de 0 au lieu de 1.0
1.0
fonctionne (même si en effet il n') depuis ma compréhension est la Tkinter, les indices doivent être spécifiées comme des chaînes de caractères comme'1.0'
(qui fonctionne également et est comment c'est fait dans la plupart des autres endroits dans le même document).OriginalL'auteur DaanP
Voici un exemple de
txt.delete(1.0,END)
comme mentionné.L'utilisation de
lambda
qui nous rend capables de supprimer le contenu sans la définition d'une fonction réelle.Espère que ça aide
OriginalL'auteur Bishop
cela fonctionne
OriginalL'auteur saigopi
pour moi "1.0" ne fonctionne pas, mais '0' travaillé. C'est Python 2.7.12, juste pour info. Dépend aussi de la façon dont vous importer le module. Voici comment:
Et le code suivant est appelé lorsque vous avez besoin de l'effacer. Dans mon cas, il y avait un bouton Enregistrer qui enregistre les données à partir de l'Entrée de la zone de texte et après que le bouton est cliqué, la boîte de texte est effacé
OriginalL'auteur George Mogilevsky