Les widgets permettant d'afficher ou de saisir du texte et de manipuler
des affichages textuels (polices, justification, coupure de mots, etc...)
sont les suivants:
Un label (label)
est un widget permettant d'afficher une ligne de texte non modifiable par
l'utilisateur. Il peut afficher un texte statique ou bien le contenu d'une
variable globale.
Exemples de créations de labels :
|
Options les plus utilisées pour les labels |
|
| -image img | L'image img spécifiée est affichée sur le label |
| -justify justification | Le texte affiché dans le label est justifié de la façon spécifiée |
| -text t | t est le texte associé au label |
| -textvariable v | v est une variable globale dont le contenu est affiché sur le label, et dont toute modification entraîne la modification du texte du label |
|
Commandes les plus utilisées sur les labels |
|
| cget option | Renvoie la valeur de l'option spécifiée du label |
| configure options | Change les options spécifiées (voir plus haut) du label |
Un message (message)
est un label (ne pouvant afficher d'image) permettant d'afficher un texte
sur plusieurs lignes. Il coupera le texte automatiquement (en fin de mot
quand c'est possible) si il dépasse la largeur de la fenêtre
message ou on pourra insérer des \n pour le forcer à
changer de ligne. La particularité d'un message est qu'il possède
un aspect basé sur 100 lorsque l'on veut que le message soit
aussi large que haut, 200 si on le veut deux fois plus large que haut,
50 quand on le veut deux fois plus haut que large etc... Par défaut
celui-ci est à 150. Cet aspect complique l'utilisation de
ce widget.
Exemples de création de messages:
|
Options les plus utilisées pour les messages |
|
| -aspect a | Le texte est découpé entre caractères pour qu'il soit a/100 fois plus large que long. |
| -justify justification | Le texte affiché dans le message est justifié de la façon spécifiée |
| -text t | t est le texte associé au message |
| -textvariable v | v est une variable globale dont le contenu est affiché sur le message, et dont toute modification entraîne la modification du texte du message |
|
Commandes les plus utilisées sur les messages |
|
| cget option | Renvoie la valeur de l'option spécifiée du message |
| configure options | Change les options spécifiées (voir plus haut) du message |
Une liste de texte (listbox)
est une boîte contenant une liste de chaînes de caractères
que l'utilisateur pourra sélectionner à l'aide du clavier
ou de la souris. Le texte sélectionné est copié dans
le presse-papier.
Exemples de création de listes de texte:
|
Options les plus utilisées pour les listes de texte |
|
| -height h | Donne la longueur maximale d'éléments visibles à la fois dans la liste |
| -selectmode mode | Si mode = browse (par défaut)
une seule ligne peut être sélectionnée.
Si mode = multiple plusieurs lignes peuvent être sélectionnées: un click sur une ligne sélectionnée la déselectionne, un click sur une ligne non sélectionnée la sélectionne. Si mode = extended plusieurs lignes peuvent être sélectionnées: la sélection fonctionne à la manière des sélections sous windows: un click seul sélectionne 1 et 1 seule ligne, un click+shift sélectionne tous les éléments entre le dernier élément sélectionné et le click, ctrl+click sélectionne l'élément clické en plus des autres. |
|
Commandes les plus utilisées sur les listes de texte |
|
| activate index | L'élément n° index est sélectionné
(0 correspond au premier élément)
|
| cget option | Retourne la valeur associée à l'option option spécifiée |
| configure ?options? | Configure les options données |
| curselection | Renvoie la liste des indexes des éléments sélectionnés |
| delete index1 index2 | Détruit les éléments compris entre les deux indexes donnés |
| get index1 index2 | Renvoie la liste des valeurs contenues dans les lignes comprises entre les deux indexes |
| insert index ?elts? | Insère le ou les éléments sous forme de chaînes de caractères dans la liste à partir de la position sépcifiée par index |
Une entrée de texte (entry)
est un label modifiable par l'utilisateur. Il ne peut (forcément)
pas contenir d'image ni de texte statique => utilisation d'une variable
globale associée par l'option -textvariable.
Exemples de création d'entrées de texte:
|
Options les plus utilisées pour les entrées de texte |
|
| -justify justification | Le texte affiché dans l'entrée est justifié de la façon spécifiée |
| -state s | L'entrée est disponible (s = normal) ou indisponible (s = disabled) |
| -textvariable v | v est une variable globale dont le contenu est affiché sur l'entrée, et dont toute modification entraîne la modification du texte de l'entrée. Bien sûr toute modification de l'entrée par l'utilisateur est immédiatement répercutée sur v |
| -width w | Largeur en nombre de caractères de l'entrée |
|
Commandes les plus utilisées sur les entrées de texte |
|
| cget option | Renvoie la valeur de l'option spécifiée de l'entrée |
| configure ?options? | Change les options spécifiées (voir plus haut) de l'entrée |
Un texte (text) est un message modifiable par l'utilisateur. Il offre en plus davantage de fonctionnalités, et sa documentation est assez longue. Il peut, en plus du texte, contenir d'autres widgets. Il permet, par un système de tags associés à certains éléments créés (texte, boutons, ...) d'effectuer la même action sur tous les objets taggés par le même tag en une seule commande. Tagger un objet, c'est un peu comme l'assigner à un groupe, quand on effectue une action sur ce groupe, on l'effectue sur chaque objet le composant.
Un exemple, très simple, permettant l'affichage du contenu d'un
fichier texte dans une fenêtre de texte:
|
Options les plus utilisées pour les textes |
|
| -height h | Le widget possèdera h lignes visibles. |
| -state s | Le texte est modifiable (s = normal) ou non (s = disabled) |
| -width w | Largeur visible en nombre de caractères du texte |
| -wrap wr | Le texte sera coupé si nécessaire en fin de ligne (wr = char), en fin de ligne mais sur fin de mot (wr = word), ou ne sera pas coupé (wr = none) |
|
Commandes les plus utilisées sur les textes |
|
| cget option | Renvoie la valeur de l'option spécifiée du text |
| configure ?options? | Change les options spécifiées du text |
| delete index1 ?index2? | Supprime le texte compris entre les deux indexes (voir la partie index pour la notation des indexes) |
| get index1 ?index2? | Renvoie le texte compris entre les deux indexes (voir la partie index pour la notation des indexes) |
| insert index chars ?tags? | Insère le texte spécifié à l'index spécifié taggé par les tags donnés (voir index) |
|
Définition des indexes |
|
| Les indexes sont donnés dans le format base
?modificateurs? où base peut être donnée sous la
forme:
ligne.colonne, @x,y où x et y, coordonnées en pixels, indiquent le caractère le plus proche, end, la fin du texte, nomtag.first qui est le premier caractère taggé par nomtag, nomtag.last, le dernier. Les modificateurs sont: + nb chars, - nb chars, + nb lines, - nb lines, où nb est un entier, linestart, lineend, wordstart, wordend. |
|
Il est à noter que les widgets listbox, entry
et text offrent des fonctions de sélection/couper/copier/coller
compatibles avec le système d'exploitation.