Librairie tk › notebook

  LE NOTEBOOK ou TABSTRIP

Le widget Notebook est un système d'onglets pour séparer votre interface. Appelé Tabstrip dans d'autre langage de programmation, ce widget est très pratique. Voici divers tutoriels pour son utilisation 

Création d'un notebook à deux onglets

Un notebook est en fait une combinaison de deux widgets :

  • Un bouton
  • Une Frame

Voici le code de l'application commenté :

wm geometry . 300x300+200+200
ttk::notebook .ide
ttk::frame .ide.onglet1
.ide add .ide.onglet1 -text "Numéro 1"
ttk::frame .ide.onglet2
.ide add .ide.onglet2 -text "Numéro 2"
pack .ide -fill both

Voici les étapes pour la mise en place d'un notebook :

  1. Créer un notebook  : ttk::notebook nomduwidget
  2. Ajouter une frame dans le notebook
  3. Définir le texte de l'onglet
  4. utiliser pack grid ou place pour l'afficher

Sélection d'un Onglet par défaut

Dans notre exemple si je veux ouvrir l'application en sélectionnant directement l'onglet numéro 2, je peux le faire de deux façons:

  • Soit je clique dessus avec la souris.
  • Soit j'insère dans le code :

nomdunotebook select nomdelonglet.

Voici un exemple :

.ide select .ide.onglet2

 

Vous l'aurez compris, la commande SELECT sélectionne l'onglet que vous voulez.

Image dans l'onglet

Pour ajouter une image dans l'onglet il faut juste se rappeler qu'un onglet a le même comportement qu'un bouton.

Ainsi pour mettre une image il  faut :

  • Créer une image
  • Utiliser l'option -image
  • Utiliser l'option -compound pour afficher l'image ET le texte

Voici le code de l'exemple :

wm geometry . 200x200+200+200
image create photo bob -file "./cut.png"
pack [ttk::notebook .nb] -fill both
	.nb add [frame .nb.f1] -text "Ciseau" -image bob -compound left
	.nb add [frame .nb.f2] -text "Couteau"
	.nb select .nb.f1

 

Effacer un Onglet

Pour effacer définitivement un onglet il faut utiliser la commande FORGET comme ceci :

button .b3 -text "delete" -command {.nb forget 1}

Cet exemple crée un bouton dont le texte est 'delete' et lance la commande :

Efface l'onglet 1. Les Onglets commençant par 0, dans notre exemple il effacera le 2eme onglet.

Cacher un Onglet

Pour cacher un onglet il faut écrire :

nomdunotebook hide indexdelonglet

exemple:

.nb hide 1

Cela effacera le 2eme onglet.

Pour le réafficher à nouveau à sa même place il suffira d'écrire :

.nb add .nb.f2

comme si vous vouliez le recréer. il se souviendra des paramètres optionnels tel que le texte, le background etc...

 

Information : Les index des onglets commencent toujours par le numéro 0.