Supprimer les widgets customtkinter
mamiemando Messages postés 33433 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 décembre 2024 - 7 juin 2024 à 16:14
3 réponses
Bonsoir,
Sachant que CTkButton hérite de tkinter.Button, il y a donc toutes les méthodes globales aux widgets tkinter.
Chez moi ceci :
>>> window = customtkinter.CTk() >>> button = customtkinter.CTkButton(window) >>> button.grid() >>> button.grid_forget()
Affiche bien une fenêtre avec un bouton, puis le grid_forget retire bien l'affichage de ce bouton, pack et pack_forget existe aussi dans les méthodes.
Donc, il y a quelque chose que tu ne dois pas faire correctement, il faudrait un code reproduisant le problème que tu évoques.
Si tu mets à la suite la méthode grid() à ton Button, alors Button n'est plus un objet CtkButton, mais le retour de grid, et comme grid retourne None, voilà pourquoi cette erreur.
En conséquence :
Button = customtkinter.CTkButton(window, text="clique", command=test) Button.grid()
7 juin 2024 à 16:14
J'ajouterais qu'il serait avisé de renommer Button en button afin qu'on ne confonde pas dans le reste du code la classe et l'instance de classe.
Modifié le 7 juin 2024 à 16:13
Rebonsoir, je viens de créer un nouveau code, j'ai essayé avec votre méthode, et voici l'erreur que j'obtiens :
AttributeError: 'NoneType' object has no attribute 'grid_forget'
Et voici mon code: