La suppression d'une Étiquette en Python Tkinter?
Je suis en train de tout cacher dans cette fonction:
def addHome(self):
Label(self, text = "Would you like to add to your to-do list, or generate a random item?", bg="#efefef").grid(row = 3, columnspan = 2, sticky="W")
self.txtHome = Entry(self)
self.btnAddToIt = Button(self, text = "Add To It!", bg="#efefef")
self.btnAddToIt.grid(row = 4, columnspan = 2)
self.btnAddToIt["command"] = self.addToIt
self.btnRandom = Button(self, text = "Random!", bg="#efefef")
self.btnRandom.grid(row = 5, columnspan = 2)
self.btnRandom["command"] = self.addRandom
Afin que je puisse montrer les choses dans ces fonctions:
def addToIt(self):
#self.clearMiddle()
Label(self, text = "Add To List").grid(row = 3, columnspan = 2)
self.addInput()
self.btnProcessAdd = Button(self, text = "Add To It!", bg="#efefef")
self.btnProcessAdd.grid(row = 7, column = 0)
self.btnProcessAdd["command"] = self.processAdd
self.btnCancel = Button(self, text = "Cancel", bg="#efefef")
self.btnCancel.grid(row = 7, column = 1)
self.btnCancel["command"] = self.addHome
def addInput(self):
#adds input for add to item page
Label(self, text = "Name of Item:", bg="#efefef", width=50).grid(row=3, column=0)
self.nameOfItem = Entry(self)
self.nameOfItem.grid(row = 3, column = 1)
self.nameOfItem.insert(0, "Be Awesome")
Label(self, text = "Item Category:", bg="#efefef", width=50).grid(row = 4, column = 0, sticky="E")
self.itemCategory = Listbox(self, height = 5)
self.itemCategory.grid(row = 4, column = 1)
self.itemCategory.insert(END, "Fun", "School", "Work", "Exercise", "Other")
Label(self, text = "Other Item Details:", bg="#efefef", width=50).grid(row = 5, column = 0, sticky="E")
self.otherItemDetails = Text(self, width=22, height=3)
self.otherItemDetails.grid(row = 5, column = 1)
Label(self, text = "Due Date (mm/dd/yy):", bg="#efefef", width=50).grid(row = 6, column = 0, sticky="E")
self.dueDate = Entry(self)
self.dueDate.grid(row = 6, column = 1)
self.dueDate.insert(0, "06/19/2013")
Puis vice versa lorsque le bouton Annuler est frappé (clearing les choses dans addToIt et addInput). Est il possible que je puisse faire cela?
Voulez-vous supprimer les widgets, ou pour effacer des valeurs dans les champs ?
Vous pourriez être intéressé par cet autre fil: Dans Tkinter, est-il possible de faire un widget n'est pas visible? (en particulier Bryan réponse)
Je veux supprimer les widgets.
Vous pourriez être intéressé par cet autre fil: Dans Tkinter, est-il possible de faire un widget n'est pas visible? (en particulier Bryan réponse)
Je veux supprimer les widgets.
OriginalL'auteur Rachelle Bennington | 2013-06-19
Vous devez vous connecter pour publier un commentaire.
Oui, il est d'une certaine façon. Je vois que vous êtes en utilisant
grid
. Pour cacher un objet l'utilisationObject.grid_forget()
.Juste au cas où, si vous utilisez
pack
, vous pouvez masquer un objet parObject.pack_forget()
. Même chose travaille avecplace
.J'ai une idée, qui peut venir dans maniable. Je vous recommande d'avoir tous les objets que vous souhaitez masquer simultanément dans une seule
Frame
, de sorte que vous aurez juste à utiliserFrame.grid_forget()
au lieu deRappelez-vous que l'utilisation de ce ne fera que rendre un objet invisible, mais il existe encore de "l'intérieur" de la mémoire avec toutes ses propriétés.
Dans l'exemple que vous avez posté, auto.txtHome n'est pas couché, c'est à dire vous n'appellent pas de grille sur elle, ce qui peut expliquer que les grid_forget ne pas faire n'importe quoi.
En fait, la grille est appelée sur elle, juste à la fin.
OriginalL'auteur Milan Skála