Tk - Présentation des widgets

Le composant de base d'une application basée sur Tk est appelé un widget. Un composant est aussi parfois appelé une fenêtre, puisque, dans Tk, "window" et "widget" sont souvent utilisés de manière interchangeable. Tk est un package qui fournit un riche ensemble de composants graphiques pour créer des applications graphiques avec Tcl.

Tk fournit une gamme de widgets allant des widgets GUI de base tels que les boutons et les menus aux widgets d'affichage de données. Les widgets sont très configurables car ils ont des configurations par défaut, ce qui les rend faciles à utiliser.

Les applications Tk suivent une hiérarchie de widgets où n'importe quel nombre de widgets peut être placé dans un autre widget, et ces widgets dans un autre widget. Le widget principal d'un programme Tk est appelé widget racine et peut être créé en créant une nouvelle instance de la classe TkRoot.

Créer un widget

La syntaxe de création d'un widget est donnée ci-dessous.

type variableName arguments options

Le type ici fait référence au type de widget comme bouton, étiquette, etc. Les arguments peuvent être facultatifs et obligatoires en fonction de la syntaxe individuelle de chaque widget. Les options vont de la taille au formatage de chaque composant.

Convention de dénomination des widgets

Widget utilise une structure similaire à celle des packages de dénomination. En Tk, la fenêtre racine est nommée avec un point (.) Et un élément dans window, par exemple button est nommé .myButton1. Le nom de la variable doit commencer par une lettre minuscule, un chiffre ou un signe de ponctuation (à l'exception d'un point). Après le premier caractère, les autres caractères peuvent être des lettres majuscules ou minuscules, des chiffres ou des signes de ponctuation (à l'exception des points). Il est recommandé d'utiliser une lettre minuscule pour commencer l'étiquette.

Convention de dénomination des couleurs

Les couleurs peuvent être déclarées en utilisant un nom comme le rouge, le vert, etc. Il peut également utiliser une représentation hexadécimale avec #. Le nombre de chiffres hexadécimaux peut être 3, 6, 9 ou 12.

Convention de dimension

L'unité par défaut est le pixel et elle est utilisée lorsque nous ne spécifions aucune dimension. Les autres dimensions sont i pour les pouces, m pour les millimètres, c pour les centimètres et p pour les points.

Options communes

Il y a tellement d'options communes disponibles pour tous les widgets et elles sont répertoriées ci-dessous dans le tableau suivant -

N ° Sr. Syntaxe et description
1

-background color

Utilisé pour définir la couleur d'arrière-plan du widget.

2

-borderwidth width

Utilisé pour dessiner avec bordure dans les effets 3D.

3

-font fontDescriptor

Utilisé pour définir la police du widget.

4

-foreground color

Utilisé pour définir la couleur de premier plan du widget.

5

-height number

Utilisé pour définir la hauteur du widget.

6

-highlightbackground color

Utilisé pour définir le rectangle de couleur à dessiner autour d'un widget lorsque le widget n'a pas le focus d'entrée.

sept

-highlightcolor color

Utilisé pour définir le rectangle de couleur à dessiner autour d'un widget lorsque le widget a le focus d'entrée.

8

-padx number

Définit le padx pour le widget.

9

-pady number

Définit le pady pour le widget.

dix

-relief condition

Définit le relief 3D pour ce widget. La condition peut être surélevée, enfoncée, plate, crête, solide ou rainurée.

11

-text text

Définit le texte du widget.

12

-textvariable varName

Variable associée au widget. Lorsque le texte du widget change, la variable est définie avec le texte du widget.

13

-width number

Définit la largeur du widget.

Un exemple simple d'options est présenté ci-dessous.

#!/usr/bin/wish

grid [label .myLabel -background red -text "Hello World" -relief ridge -borderwidth 3]
   -padx 100 -pady 100

Lorsque nous exécutons le programme ci-dessus, nous obtiendrons la sortie suivante.

La liste des widgets disponibles est classée ci-dessous -

Widgets de base

N ° Sr. Widget et description
1

Label

Widget pour afficher une seule ligne de texte.

2

Button

Widget qui est cliquable et déclenche une action.

3

Entry

Widget utilisé pour accepter une seule ligne de texte comme entrée.

4

Message

Widget pour afficher plusieurs lignes de texte.

5

Text

Widget pour afficher et éventuellement modifier plusieurs lignes de texte.

6

Toplevel

Fenêtre avec toutes les bordures et décorations fournies par le gestionnaire de fenêtres.

Widgets de mise en page

N ° Sr. Widget et description
1

Frame

Widget conteneur pour contenir d'autres widgets.

2

Place

Widget pour contenir d'autres widgets à un endroit spécifique avec les coordonnées de son origine et une taille exacte.

3

Pack

Widget simple pour organiser les widgets en blocs avant de les placer dans le widget parent.

4

Grid

Widget pour imbriquer les widgets emballés dans des directions différentes.

Widgets de sélection

N ° Sr. Widget et description
1

Radiobutton

Widget qui a un ensemble de boutons et d'étiquettes marche / arrêt, dont l'un peut être sélectionné.

2

Checkbutton

Widget doté d'un ensemble de boutons et d'étiquettes d'activation / désactivation, dont beaucoup peuvent être sélectionnés.

3

Menu

Widget qui sert de support pour les éléments de menu.

4

Listbox

Widget qui affiche une liste de cellules, dont une ou plusieurs peuvent être sélectionnées.

Méga widgets

N ° Sr. Widget et description
1

Dialog

Widget d'affichage des boîtes de dialogue.

2

Spinbox

Widget qui permet aux utilisateurs de choisir des nombres.

3

Combobox

Widget qui combine une entrée avec une liste de choix disponibles à l'utilisation.

4

Notebook

Widget à onglets qui permet de basculer entre l'une des plusieurs pages, à l'aide d'un onglet d'index.

5

Progressbar

Widget pour fournir un retour visuel sur la progression d'une longue opération comme le téléchargement de fichiers.

6

Treeview

Widget pour afficher et permettre de parcourir une hiérarchie d'éléments plus sous forme d'arborescence.

sept

Scrollbar

Faire défiler les widgets sans texte ni widgets de canevas.

8

Scale

Mettez le widget à l'échelle pour choisir une valeur numérique à l'aide de curseurs

Autres widgets

N ° Sr. Widget et description
1

Canvas

Widget de dessin pour afficher des graphiques et des images.

Nous couvrirons chacun de ces widgets dans les prochains chapitres.