LES CHOOSERS ou FENÊTRES DE SELECTION
Les Chooser sont des boites de dialogue vous permettant de choisir ou de sauvegarder :
Les voici détaillées dans cette page :
FOLDER CHOOSER ou sélection de répertoire
Le FolderChooser vous permet de récupérer le nom d'un répertoire à l'aide d'une boite de dialogue.
Appelez la fenêtre par la commande tk_chooseDirectory et récupérez le chemin complet dans une variable.
Voici le code de l'exemple :
wm title . "selectionner un repertoire" button .v -text "selectionner" -command {monrep} pack .v proc monrep {} { set dir [tk_chooseDirectory -initialdir ~ -title "Répertoire pour le projet TK"] if {$dir eq ""} { label .v.l -text "No directory selected" } else { label .v.l -text "Selected $dir" } pack .v.l }
Le résultat sera présent dans la variable $dir
FILE CHOOSER ou sélecteur de fichier
Le FileChooser est une boite de dialogue vous permettant de sélectionner ou sauvegarder un fichier.
Vous pouvez définir le type de fichier par un filtre (voir exemple)
Vous appelez la fenêtre par tk_getOpenFile et vous récupérez le chemin complet de votre fichier dans une variable.
Voici un simple code pour son utilisation:
set types { {"All Source Files" {.tcl .tk } } {"Image Files" {.gif .png .jpg} } {"All files" *} } proc onSelect { label } { global types set file [tk_getOpenFile -filetypes $types -parent .] $label configure -text $file } label .l -text "..." place .l -x 20 -y 90 button .b -text "Select a file" \ -command "onSelect .l" place .b -x 20 -y 30 wm title . "openfile" wm geometry . 350x200+300+300
Le chemin sera dans la variable $file
COLOR CHOOSER ou sélection de couleur
Le ColorChooser vous permet de choisir une couleur pour l'utiliser dans votre programme.
Son utilisation est très simple :
Vous l'appelez par la commande tk_chooseColor et vous récupérez la valeur de la couleur dans une variable.
Voici le code pour son utilisation :
proc doIt {widget} { set current_color [tk_chooseColor -title "Choose a background color" -parent .] $widget configure -background $current_color } label .l button .b -text "Choose a color..." -command {doIt .b} grid .b -row 0 -column 0
Dans cet exemple nous avons un simple bouton qui, lors d'un clic, ouvre la boite colorchooser et récupère dans la variable current_color la valeur de la couleur choisie et l'applique en fond du bouton.
Notez au passage que l'underscore "_" est toléré dans le nom d'une variable.