LA LISTBOX

Une listbox est une boite dans laquelle il y a plusieurs lignes où vous pouvez choisir dans une liste. Ce widget simple ne gère que le texte et une seule colonne.

Voici différents tutoriels pour utiliser la listbox, manipuler les données etc...

 

Ajouter une ligne au début

Pour ajouter une Item dans la liste il suffit d'écrire :

nomduwidget INSERT index Valeur

ou :

  • Nomduwidget : Nom donné au widget
  • insert : commande insérer
  • Index : numéro de la ligne (commence par 0)
  • Valeur : Texte à insérer

exemple :

.maliste insert 0 "hello la Terre"

Effacer une ligne

Pour effacer écrire le cette ligne:

nomduwidget DELETE index

ou :

  • nomduwidget : nom de la listbox
  • delete : commande effacer
  • index : numéro de la ligne (commence par 0)

exemple :

.maliste delete 2

effacera la ligne 3

Récupérer le texte de la ligne cliquée

Pour récupérer le contenu de la ligne cliqué :

nomduwidget GET active

où :

  • nomduwidget : nom de la listbox
  • get : commande obtenir le contenu
  • Active : ligne sélectionnée

Exemple :

puts [.maliste get active]

Ce code est à mettre entre crochet car nous récupérons l'évaluation de cette commande c'est à dire le texte de la ligne et non son index

Une autre façon est d'utiliser %W qui représente le widget cliqué comme ceci :

puts [%W curselection]

Ajouter une ligne à la fin

Utiliser END comme ceci :

.maliste insert end "hello la Lune"

Récupérer le nombre de lignes

Pour connaître le nombre de ligne actuel écrivez :

puts [.maliste size]

 

Effacer toute la listbox d'un coup

Il suffit d'utiliser la commande DELETE et définir le début et la fin de la liste comme ceci :

.maliste delete 0 [ expr [.maliste size] -1 ]

Effacement de l'index 0 à (calcul du nombre de ligne moins 1)

Nous aurions aussi tout simplement pu écrire :

.maliste delete 0 end

qui veut dire : Efface ma liste de l'item 0 à la fin.

Récupérer l'index de la ligne sélectionnée

Pour avoir l'index de la ligne sélectionnée écrivez ce code :

puts [.maliste index active]

 

.

.

.

.

 

 

 

 

 

 

 

Retour au sommaire bibliothèque TK