⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ extension ttk ⇨ Notebook
tkinter.ttk.Notebook ( ).insert ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ extension ttk ⇨ Notebook
tkinter.ttk.Notebook ( ).insert ( )
DESCRIPTION.
Déplace un onglet dans le classeur, en le créant si nécessaire.
SYNTAXE.
NTB_Classeur.insert ( index , contenu , attribut1 = valeur , ... , attributn = valeur )
NTB_Classeur = instance quelconque de tkinter.ttk.Notebook ( ) [ OBLIGATOIRE ]
.insert ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
index ⇨ position dans la pile des onglets [ OBLIGATOIRE ]
contenu ⇨ contenu de l'onglet [ OBLIGATOIRE ]
attribut = valeur ⇨ attribut à modifier avec sa nouvelle valeur [ optionnel ]
REMARQUES.
index peut être :
- un int ( ) correspondant à l'identifiant numérique où sera inséré l'onglet ;
- "end" pour placer l'onglet en dernière position.
Les onglets présents depuis index, avant l'insertion du nouvel onglet, jusqu'à "end" seront déplacés d'un index vers la droite.
contenu doit être l'identifiant du controle unique ou du conteneur de controles présent dans l'onglet.
Si un onglet a déjà contenu comme identifiant, il est déplacé à l'emplacement index. Sinon un nouvel onglet est créé et placé en la position index dans la liste des onglets du classeur.
Si contenu est un controle unique à insérer dans un nouvel onglet, et bien que cela soit vivement déconseillé, il peut être créé avec l'appel de la méthode tkinter.ttk.Notebook ( ).insert ( ). Dans ce cas, il n'est pas utile d'indiquer le parent, conteneur, du controle qui est l'onglet lui-même.
Si contenu est un conteneur de controles à insérer dans un nouvel onglet, il est souhaitable de la créer avant de l'insérer dans l'onglet à l'aide de son identifiant . Les controles enfants du conteneur pourront être créés et placés, voire cachés ou détruits, dans le conteneur avant ou après l'insertion du conteneur dans l'onglet. Bien entendu, les enfants du conteneur, ainsi que la composition du conteneur, pourront être modifiés après l'affichage du classeur.
Voir tkinter.ttk.Notebook ( ).add ( ) pour créer un onglet en dernière position dans le classeur.
LISTE DES ATTRIBUTS DES ONGLETS.
compound = position
Positionne de l'image par rapport au texte dans l'étiquette de l'onglet. position doit être un str ( ) représentant une position valide. Les positions valides sont : "bottom", "center", "left", "right" et "top".
image = image
Indique l'image à insérer dans l'étiquette de l'onglet à la place ou avec le texte. image doit être un objet créé avec la classe tkinter.PhotoImage ( ).
padding = marges
Définit les marges à l'intérieur de l'onglet, autour du controle enfant. marges est un tuple ( ) composé de int ( ) pouvant prendre la forme ( gauche , haut , droite , bas ), ( gauche , haut&bas , droite ), ( gauche&droite , haut&bas ), ( marges ) ou marges.
state : etat
Modifie l'état de l'onglet. Un onglet peut avoir l'un des état suivant : "normal", "disabled" ou "hidden".
sticky = ancre
Indique la distribution de l'espace non occupé par le controle dans la cellule. ancre doit avoir l'une des valeur suivantes : "", "n", "ne", "e", "se", "s", "sw", "w", "nw", "ns", "ew", "nse", "nsw", "ewn", "ews", "nesw".
text = chaine
Texte de l'étiquette de l'onglet. chaine doit être un str ( ) quelconque mais valide.
underline = index
Définit la position du caractère de l'étiquette qui sera souligné. index est un int ( ). Si index est négatif, aucun caractère ne sera souligné. Pour rappel, le premier caractère du texte a pour index = 0.
EXEMPLE.
import tkinter , tkinter.ttk
def FNC_Deplacer ( ) :
NTB_Classeur.insert ( 0 , FRM_Action )
def FNC_Nouveau ( Q ) :
kindex = NTB_Classeur.index ( FRM_Action ) if Q == "devant" else "end"
konglets = NTB_Classeur.index ( "end" )
LAB_Tmp = tkinter.Label ( NTB_Classeur , text = f"Nouveau { konglets }" )
NTB_Classeur.insert ( kindex , LAB_Tmp , text = f"Nouveau { konglets }" )
TKI_Principal = tkinter.Tk ( )
NTB_Classeur = tkinter.ttk.Notebook ( TKI_Principal )
BUT_Quitter = tkinter.Button ( NTB_Classeur , text = "Quitter" , command = TKI_Principal.destroy )
FRM_Action = tkinter.Frame ( NTB_Classeur )
tkinter.Button ( FRM_Action , text = "Insérer devant moi" , command = lambda : FNC_Nouveau ( "devant" ) ).pack ( )
tkinter.Button ( FRM_Action , text = "Insérer à la fin" , command = lambda : FNC_Nouveau ( "fin" ) ).pack ( )
tkinter.Button ( FRM_Action , text = "Déplacer-moi en tête" , command = FNC_Deplacer ).pack ( )
NTB_Classeur.add ( FRM_Action , text = "Action !" )
NTB_Classeur.add ( tkinter.Label ( text = "Ne fait rien" ) , text = "Rien" )
NTB_Classeur.add ( BUT_Quitter , text = "Quitter" )
NTB_Classeur.pack ( )
TKI_Principal.mainloop ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de