⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Menu
tkinter.Menu ( ).add ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Menu
tkinter.Menu ( ).add ( )
DESCRIPTION.
Ajoute un nouveau choix à la fin du menu déroulant.
SYNTAXE.
MNU_Choix.add ( type , attribut1 = valeur , ... , attributn = valeur )
MNU_Choix ⇨ instance quelconque de tkinter.Menu ( ) [ OBLIGATOIRE ]
.add ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
type ⇨ type du choix [ OBLIGATOIRE ]
attribut = valeur ⇨ attribut à modifier avec sa nouvelle valeur [ optionnel ]
REMARQUES.
type doit être str ( ) correspondant à un type de choix valide. Les choix sont ajouté dans le menu déroulant dans même ordre que celui du script.
La méthode tkinter.Menu ( ).add ( ) est la forme généralisée d'ajout de choix dans un menu déroulant. Toutefois, il est recommandé d'utiliser la méthode dédiée à la forme spécifique d'ajout correspondante à type associé :
- "cascade", correspond à la méthode tkinter.Menu ( ).add_cascade ( ) ;
- "checkbutton", correspond à la méthode tkinter.Menu ( ).add_checkbutton ( ) ;
- "command", correspond à la méthode tkinter.Menu ( ).add_command ( ) ;
- "radiobutton", correspond à la méthode tkinter.Menu ( ).add_radiobutton ( ) ;
- "separator", correspond à la méthode tkinter.Menu ( ).add_separator ( ).
LISTE DES ATTRIBUTS DES CHOIX.
accelerator = chaine
Affiche à droite du choix, la touche, ou la combinaison de touches, informant du raccourcis clavier associé au choix. Attention : chaine n'est pas géré automatiquement, le script devra prévoir un gestionnaire d'événement déclenché par la combinaison de chaine au claver et invoquant la même action que celle affecté à l'attribut command du choix.
activebackground = couleur
Couleur de fond du choix lorsque le pointeur de la souris est sur lui.
activeborderwidth = taille
Épaisseur, en pixels, de la bordure du choix lorsque le pointeur de la souris est sur lui.
activeforeground = couleur
Couleur de texte du choix lorsque le pointeur de la souris est sur lui.
background = couleur ou bg = couleur
Couleur de fond du choix.
bitmap = image
Image bitmap à afficher. Si cet attribut est spécifié, il remplace l'attribut label. pour associer une image à une étiquette, on utilisera plutot les attribut image, label et compound. Lattriut bitmap n'est pas disponible pour "separator" et la ligne de détachement.
borderwidth = taille ou bd = taille
Épaisseur, en pixels, de la bordure du choix.
columnbreak = booleen
Si booleen vaut False le choix sera aligné avec le précédent. Si booleen vaut True il sera décalé sur la droite.
command = fonction
Fonction à invoquer quand l'utilisateur clique, et confirme en relachant le bouton gauche, sur le choix.
compound = position
Positionne de l'image par rapport au texte du choix. Les positions valides sont : "bottom", "center", "left", "right" et "top".
font = style
Définit les caractéristiques des caractères du texte.
foreground = couleur ou fg = couleur
Couleur de texte du choix.
hidemargin = booleen
Si booleen vaut True l'espace séparant deux choix est supprimé. Si booleen vaut False l'espace est rétabli.
image : image
Image à afficher en association avec le texte. image doit être un objet de type tkinter.PhotoImage ( ). l'utilisation de l'attribut compound permet de positionner l'image par rapport au texte.
label = chaine
Texte à afficher pour dérire le choix. chaine doit être un str ( ) valide.
menu = MNU_parent
Cet attribut n'est utilisé qu'avec le type "cascade", il indique quel menu déroulant sera le conteneur du sous-menu, par exemple : MNU_Enfant.add ( "cascade" , menu = MNU_Parent ) ajoute un sous-menu déroulant nommé MNU_Enfant dans le menu MNU_Parent nommée. Ensuite les choix proposés dans le sous-menu enfant se feront comme suit : MNU_Enfant.add ( type , attribut1 = valeur , ... , attributn = valeur ).
offvalue = valeur
Cet attribut n'est utilisé qu'avec le type "checkbutton", valeur à affecter à la variable de controle associée au choix quand la case à option est décochée.
onvalue = valeur
Cet attribut n'est utilisé qu'avec le type "checkbutton", valeur à affecter à la variable de controle associée au choix quand la case à option est cochée.
selectcolor = couleur
Cet attribut n'est utilisé qu'avec les types "checkbutton", et "radiobutton", il définit la couleur de fond de la case associée au choix.
selectimage : image
Cet attribut n'est utilisé qu'avec les types "checkbutton", et "radiobutton", il Iindique l'image à afficher quand le choix est activé, coché.
state = etat
Définit l'état du controle. etat peut être : "active", "disabled", et "normal".
underline = chaine
Indique quel caractère du texte sera souligné, informant l'utilisateur du raccourcis clavier associé au choix. Attention : chaine n'est pas géré automatiquement, le script devra prévoir un gestionnaire d'événement déclenché par l’appui sur la touche du claver et invoquant la même action que celle affecté à l'attribut command du choix.
value = valeur
Cet attribut n'est utilisé qu'avec le type "radiobutton", valeur à affecter à la variable de controle associée au choix quand la case à option est cochée.
variable = TKV_Variable
Cet attribut n'est utilisé qu'avec les types "checkbutton", et "radiobutton", il définit quelle variable de controle sera associée au choix.
EXEMPLE.
import tkinter
LST_Index = [ 0 ]
def FNC_Command ( ) :
LST_Index [ 0 ] += 1
MNU_Command.add ( "command" , label = f"Choix : { LST_Index [ 0 ] }" )
def FNC_Cascade ( ) :
LST_Index [ 0 ] += 1
MNU_Nouveau = tkinter.Menu ( MNU_Menu )
MNU_Nouveau.add ( "command" , label = f"Sous choix : { LST_Index [ 0 ] }.a" )
MNU_Nouveau.add ( "command" , label = f"Sous choix : { LST_Index [ 0 ] }.b" )
MNU_Nouveau.add ( "command" , label = f"Sous choix : { LST_Index [ 0 ] }.c" )
MNU_Command.add ( "cascade" , label = f"Choix { LST_Index [ 0 ] } ... : " , menu = MNU_Nouveau )
def FNC_Separator ( Q ) :
if Q == 0 : MNU_Command.add ( "separator" )
if Q == 1 : MNU_Check.add ( "separator" )
if Q == 2 : MNU_Radio.add ( "separator" )
def FNC_Checkbutton ( ) :
LST_Index [ 0 ] += 1
MNU_Check.add ( "checkbutton" , label = f"Valeur : { LST_Index [ 0 ] }" , onvalue = LST_Index [ 0 ] , variable = TKV_Checkbutton )
def FNC_Radiobutton ( ) :
LST_Index [ 0 ] += 1
MNU_Radio.add ( "radiobutton" , label = f"Valeur : { LST_Index [ 0 ] }" , value = LST_Index [ 0 ] , variable = TKV_Radiobutton )
TKI_Principal = tkinter.Tk ( )
TKI_Principal.geometry ( "400x75+100+50" )
TKV_Checkbutton = tkinter.IntVar ( )
TKV_Radiobutton = tkinter.IntVar ( )
MNU_Menu = tkinter.Menu ( TKI_Principal )
MNU_Command = tkinter.Menu ( MNU_Menu )
MNU_Command.add ( "command" , label = "Ajouter command" , command = FNC_Command )
MNU_Command.add ( "command" , label = "Ajouter cascade" , command = FNC_Cascade )
MNU_Command.add ( "command" , label = "Ajouter separator" , command = lambda : FNC_Separator ( 0 ) )
MNU_Command.add ( "separator" )
MNU_Check = tkinter.Menu ( MNU_Menu )
MNU_Check.add ( "command" , label = "Ajouter checkbutton" , command = FNC_Checkbutton )
MNU_Check.add ( "command" , label = "Ajouter separator" , command = lambda : FNC_Separator ( 1 ) )
MNU_Check.add ( "separator" )
MNU_Radio = tkinter.Menu ( MNU_Menu )
MNU_Radio.add ( "command" , label = "Ajouter radiobutton" , command = FNC_Radiobutton )
MNU_Radio.add ( "command" , label = "Ajouter separator" , command = lambda : FNC_Separator ( 2 ) )
MNU_Radio.add ( "separator" )
MNU_Quitter = tkinter.Menu ( MNU_Menu )
MNU_Quitter.add ( "command" , label = "Quitter" , command = TKI_Principal.destroy )
MNU_Menu.add ( "cascade" , label = "command" , menu = MNU_Command )
MNU_Menu.add ( "cascade" , label = "checkbutton" , menu = MNU_Check )
MNU_Menu.add ( "cascade" , label = "radiobutton" , menu = MNU_Radio )
MNU_Menu.add ( "cascade" , label = "Quitter" , menu = MNU_Quitter )
TKI_Principal [ "menu" ] = MNU_Menu
TKI_Principal.mainloop ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de