Sujet précédent

Toplevel - Fenêtres primaires

Sujet suivant

Connecter la logique de votre applications aux widgets

Méthodes communes à tous les widgets

Les méthodes données ci-après sont communes à tous les widgets. Dans les descriptions, w désigne un widget de type arbitraire.

after(delai_ms, fonc=None, *args)

Demande à Tkinter d’appeller la fonction de rappel fonc avec les arguments args après l’écoulement du délai delai_ms donné en millisecondes. Votre fonction de rappel ne peut pas être appelée avant ce délai (même si son appel effectif peut le dépasser) et elle ne sera appelée qu’une fois.

Elle retourne un entier qui sert d’identifiant et qui peut être passé à la méthode after_cancel pour annuler la demande d’appel de fonc.

Si vous ne donnez aucune fonction de rappel, cette fonction arrête l’exécution du programme pendant la durée du délai indiqué (comme la fonction standard sleep du module time).

bind(sequence=None, evtGest=None, add=None)

Cette méthode est utilisée pour attacher un gestionnaire d’événement (une fonction) à la survenue d’un événement, précisé par sequence, sur le widget appelant (sur lequel cette méthode a été appliquée). Voir Événements: répondre aux actions de l’utilisateur. pour une vue d’ensemble sur le moyen de rendre votre application réactive aux actions de l’utilisateur.

L’argument sequence sert à décrire le type d’événement (action de l’utilisateur) auquel il faut réagir par le moyen du gestionnaire evtGest, c’est à dire en appelant cette fonction lorsque survient l’événement surveillé sur le widget. Si une liaison avait déjà été définie sur ce widget, l’ancien gestionnaire d’événement est remplacé par le nouveau sauf si vous utilisez add='+'; dans ce cas les gestionnaires définis précédement sont préservés.

bind_all(sequence=None, func=None, add=None)

Similaire à la méthode bind(), mais s’applique à tous les widgets de l’application.

bindtags(tagList=None)

Si vous appelez cette méthode sans argument, elle vous retournera les marques (tags) “de liaison” pour le widget appelant sous la forme d’une liste de chaînes de caractères. Une marque de liaison est le nom d’une fenêtre (qui débute par un ‘.’) ou un type de widgtet (par exemple ‘Listbox’).

Vous pouvez modifier l’ordre dans lequel les niveaux de liaison sont appelés en passant à la méthode la liste des marques de liaison que vous souhaitez que le widget utilise.

Voir Événements: répondre aux actions de l’utilisateur. pour une discussion sur les niveaux de liaison et leur relation avec les marques.

cget(option)

Retourne la valeur courante de l’option indiquée par une chaîne de caractères. Vous pouvez aussi obtenir la valeur d’une option d’un widget w en utilisant la syntaxe w['option'].

column_configure()

Voir Autres méthodes du gestionnaire de grille.

configure(option=value, ...)

Sert à configurer les valeurs d’une ou plusieurs options. Pour les options dont les noms sont des mots réservés de Python (class, from, in), ajoutez un caractère «souligné» à la fin de l’option: ‘class_’, ‘from_’, ‘in_’.

Vous pouvez aussi configurer la valeur d’une option pour le widget w avec une instruction de la forme w['option'] = valeur.

Si vous appelez la méthode config() sans arguments, elle retourne un dictionnaire de toutes les options du widget appelant. Les clés sont les noms des options (incluant les alias comme bd pour borderwidth). La valeur pour chaque clé est:

  • Pour la plupart des entrées, un tuple à 5 éléments: (nom de l'option, clé de l'option dans la bdd, classe de l'option dans la bdd, valeur par défaut, valeur courante); ou,
  • Pour les alias (comme ‘fg’), un tuple à deux éléments: (alias, nom standard équivalent).
destroy()

L’appel w.destroy() sur un widget w détruit w ainsi que tous ses enfants.

grid_forget()

Voir Autres méthodes du gestionnaire de grille.

grid_remove()

Voir Autres méthodes du gestionnaire de grille.

keys()

Retourne les noms des options du widget sous la forme d’une liste de chaînes de caractères.

mainloop()

Cette méthode doit être appelée (généralement après avoir créé tous les widgets statiques) afin de démarrer le traitement des événements. Vous pouvez arrêter ce traitement en boucle en utilisant la méthode quit() ci-dessous. Vous pouvez aussi appeler cette méthode à l’intérieur d’un gestionnaire d’événement pour redémarrer le traitement des événements (main loop).

nametowidget(nom)

Retourne le widget dont le chemin de nommage est nom. Voir Le nommage des Fenêtres (Window). Si le nom est inconnu, cette méthode lancera une exception du type KeyError.

quit()

Cette méthode fait sortir de la boucle des événéments (mainloop). Voir la méthode mainloop() ci-dessous pour plus d’informations sur la boucle des événements.

rowconfigure()

Voir Autres méthodes du gestionnaire de grille.

unbind(sequence, funcid=None)

Cette méthode supprime la liaison d’événement du widget appelant, pour un événement décrit par sequence. Si le second argument est un gestionnaire associé à cet événement, ce gestionnaire est détruit mais pas les autres s’il y en a. Si le second argument est omis, toutes les liaisons pour l’événement considéré sont supprimées.

Voir Événements: répondre aux actions de l’utilisateur. pour une discussion générale à propos des liaisons d’événements.

unbind_all(sequence)

Supprime toutes les liaisons d’événement de l’application pour l’événement décrit par la chaîne sequence.

unbind_class(className, sequence)

Similaire à unbind_all(), mais s’applique à tous les widgets de type className (c’est à dire ‘Entry’ ou ‘Listbox’).

update()

Cette méthode force le rafraîchissement de l’affichage. Vous ne devriez l’utiliser que si vous savez ce que vous faites puisqu’elle peut conduire à un comportement imprévisible ou à une boucle infinie. Dans tous les cas, elle ne devrait jamais être appelée à partir d’un gestionnaire d’événement ou d’une fonction appelée par un tel gestionnaire.

update_idletasks()

certaines tâches dans la mise à jour de l’affichage, comme l’agrandissement/réduction d’un widget, sont dites dormantes ou en sommeil (idle) parce qu’elles sont normalement reportées jusqu’au moment où l’application a terminé de s’occuper des événements et est revenue dans la boucle principale pour attendre les prochains.

Si vous souhaitez forcer le rafraîchissement de l’affichage avant que l’application soit de nouveau en sommeil, appelez cette méthode sur un widget arbitraire.

winfo_geometry()

Retourne la chaîne de géométrie "Largeurxhauteur+x+y" qui décrit la taille et la position sur l’écran du widget appelant. Voir Les chaînes de géométrie.

Attention, cette chaîne n’est précise qu’une fois que l’application a traitées ses tâches en sommeil. En particulier, toutes les chaînes géométriques sont initialisées à ‘1x1+0+0’ jusqu’au moment où le widget et le gestionnaire de positionnement ont négociés tailles et positions. Voir la méthode update_idletasks() ci-dessus pour s’assurer que la géométrie du widget a été mise à jour.

winfo_id()

Retourne un entier qui identifie de manière unique le widget appelant relativement à sa fenêtre mère. Vous aurez besoin de cela pour utiliser la méthode winfo_pathname() ci-dessous.

winfo_name()

Cette méthode retourne le nom relatif (à son parent) du widget appelant. Voir Le nommage des Fenêtres (Window). Voir aussi la méthode winfo_pathname() ci-dessous pour obtenir le nom (chemin) complet.

winfo_pointerxy()

Retourne un tuple (x, y) qui contient les coordonnées du pointeur de souris relativement au bord gauche de l’écran.

winfo_rgb(color)

Retourne le tuple (rouge, vert, bleu) qui est équivalent à la couleur passé en argument. Chaque composante du tuple est un entier de l’intervalle [0; 65536[. Par exemple, pour la couleur ‘green’, elle retourne (0, 65535, 0).

Pour en savoir plus sur les moyens de préciser les couleurs, voir Les couleurs.

winfo_screenheight()

Retourne la hauteur de l’écran en pixels.

winfo_screenwidth()

Retourne la largeur de l’écran en pixels.

winfo_toplevel()

Retourne la fenêtre de plus haut niveau (top-level) qui contient le widget appelant. Cette fenêtre peut utiliser toutes les méthodes des widgets Toplevel, voir Toplevel - Fenêtres primaires.

winfo_x()

Retourne l’abscisse x (horizontale) du côté gauche du widget appelant relativement à son parent.

winfo_y()

Similaire à la méthode précédente mais pour y.