FENETRE
La fenêtre est le conteneur principal qui contient tous les autres widgets.
En tk la fenêtre principale (fenêtre mère) est nommée . (point).
Il existe une fenêtre mère qui est la fenêtre principale, et vous pouvez créer tout un tas de fenêtres filles.
Voici des tutoriels sur l'utilisation d'une fenêtre :
Introduction
Une fenêtre est l'élément conteneur par défaut de toute application réalisée en TK.
La fenêtre mère est nommée par un point.
Mếme si elle n'est pas définie dans cet exemple ci-dessous, elle sera créée de manière implicite.
button .b1 -text "cliquez moi" pack .b1
Le résultat produit est :
Pour changer la taille par exemple, nous devons utiliser la commande wm :
wm geometry . 100x100+200+200
Pour créer une fenêtre fille, c'est à dire une autre fenêtre en plus de celle déjà crée, il faut utiliser la commande toplevel suivi du nom de votre nouvelle fenêtre comme ceci :
button .b1 -text "cliquez moi" -command {leclic} pack .b1 proc leclic {} { toplevel .f2 wm geometry .f2 100x100+200+200 }
Vous pourrez constater que si vous fermez la fenêtre où il y a le bouton, c'est à dire la fenêtre mère, le programme se ferme en fermant toutes les autres fenêtres.
Ajuster la taille d'une fenêtre
Pour ajuster la taille de la fenetre mère:
wm geometry . 100x200+300+400
largeur : 100 pixels
hauteur: 200 pixels
position en X : 300
position en Y : 400
Centrer une fenêtre à l'écran
Pour centrer une fenêtre mère à l'écran :
set width 350 set height 250 set x [expr { ( [winfo vrootwidth .] - $width ) / 2 }] set y [expr { ( [winfo vrootheight .] - $height ) / 2 }] wm title . "Center" wm geometry . ${width}x${height}+${x}+${y}
Ce n'est pas tout à fait vrai pour un multi écran, car cette commande centre la fenêtre sur la planche entière sur le double écran par exemple.
Fermer / Quitter une fenêtre
Pour fermer la fenêtre mère et toutes les fenêtres filles , utilisez la commande exit fermera toute l'application comme ci-dessous :
button .hello -text "Quit" -command { exit } place .hello -x 50 -y 50 wm title . "Quit button" wm geometry . 350x250+300+300
la commande EXIT ferme l'application complète.
Pour fermer juste une fenêtre fille concernée faire :
button .hello -text "Quit" -command {destroy $mafenetre}
Enlever les bordures de la fenêtre
Pour enlever les bordures de votre fenêtre fille nommée .top par exemple, écrivez ceci :
wm overrideredirect .top 1
Connaître la résolution de votre écran
Pour connaître la résolution de votre écran écrivez ceci :
winfo screenwidth . winfo screenheight .
Maximiser une fenêtre à l'ouverture
Pour maximiser une fenêtre à l'ouverture quelque soit la plateforme sur laquelle est lancé votre script TCL voici le code :
wm title . "Center" wm geometry . [winfo vrootwidth .]x[winfo vrootheight .]+0+0
definir une icone pour notre application
Pour afficher une icone en haut à gauche de la fenêtre ou dans la barre des tâches pour notre application voici comment faire :
un exemple :
# icone de l'application image create photo icapp -file "./img/icon.png" wm iconphoto . -default icapp
Connaitre la resolution de l'ecran, les couleurs, le nombre de pixel
Connaitre le nombre de couleur, le nombre de pixel par pouce ou la résoltion de votre écran, voici le code :
puts "color depth=[winfo screendepth .] ([winfo screenvisual .])" puts "pixels per inch=[winfo pixels . 1i]" puts "width=[winfo screenwidth .] height=[winfo screenheight .]"
essai de commentaire