IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tkinter Python Discussion :

Utilisation Widget Menu [Python 2.X]


Sujet :

Tkinter Python

  1. #1
    psl
    psl est déconnecté
    Membre actif
    Avatar de psl
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 98
    Points : 242
    Points
    242
    Par défaut Utilisation Widget Menu
    Bonjour,
    Toujours dans la découverte de Tkinter, je n'ai pas le résultat escompté dans le code ci-dessous:
    Pour souligner certains caractères j'utilise underline=0 (par exemple)
    Cela fonctionne dans la partie déroulante mais pas dans la zone barre de menu.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    """
    Test utilisation des menus
    """
    #--------------------------------------------------------------------------------
    # Bibliothèques et classes importées
    #--------------------------------------------------------------------------------
    from Tkinter import *
    #################################################################################
    #classe Application
    #################################################################################
    class Application(Frame):
        """Application"""
        def __init__(self, master=None):
            Frame.__init__(self, master, background="grey")
            #création de la barre de menu:
            self.barreMenu = Menu(self.master)
     
            #création du menu "Fichier"
            self.fichier = Menu(self.barreMenu, tearoff=0)
            self.barreMenu.add_cascade(label="Fichier", underline=0, menu=self.fichier)
            self.fichier.add_command(label="Ouvrir", underline=0, command=self.ouvrir)
            self.fichier.add_command(label="Fermer", underline=0, command=self.fermer)
            self.fichier.add_command(label="Enrégistrer", underline=0, command=self.enregistrer)
            self.fichier.add_command(label="Quitter", underline=0, command=self.quitter)
     
            #déclenche directement une action
            self.barreMenu.add_command(label="Calculer", underline=0, command=self.calculer)
     
            #création du menu "Aide"
            self.aide = Menu(self.barreMenu, tearoff=0)
            self.barreMenu.add_cascade(label="Aide", underline=0, menu=self.aide)
            self.aide.add_command(label="Manuel", underline=0, command=self.manuel)
            self.aide.add_separator()
            self.aide.add_command(label="A propos", underline=0, command=self.apropos)
     
            #afficher le menu
            self.master.config(menu=self.barreMenu)
     
        def ouvrir(self):
            """ """
            print "Ouvrir"
        def fermer(self):
            """ """
            print "Fermer"
        def enregistrer(self):
            """ """
            print "Enrégistrer"
        def quitter(self):
            """ """
            print "Quitter"
            self.master.destroy()
        def manuel(self):
            """ """
            print "Manuel"
        def apropos(self):
            """ """
            print "A propos"
        def calculer(self):
            """ """
            print "Calculer"
     
     
    #######################
    # PROGRAMME PRINCIPAL #
    #######################
    fen = Tk()                                              #objet Tk
    fen.title("Programme avec menu")                        #titre de la fenêtre
    #fen.iconbitmap("img/icare2.ico")                        #icone fenêtre
    fen.resizable(False, False)                             #non re-dimensionnable
    app = Application(fen)                                  #objet Application
    fen.protocol("WM_DELETE_WINDOW", app.quitter)           #sortie par (X)
    fen.geometry("%dx%d%+d%+d" % (300, 300, 100, 100))
    fen.mainloop()                                          #boucle sans fin
    #fin
    Merci pour les pistes de recherche
    @+
    Ubuntu 18.04 LTS

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Je viens de tester chez moi, tout fonctionne OK dans votre script.

    Configuration : Linux Ubuntu 14.04, Python 2.7.6.

    Peut-être un problème d'install Python2/Tcl/Tk chez vous ?

    Config utilisée ?

    @+.

  3. #3
    psl
    psl est déconnecté
    Membre actif
    Avatar de psl
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 98
    Points : 242
    Points
    242
    Par défaut
    Bonjour,
    Merci pour l'essai de mon bout de code.
    Configuration :
    OS : Win7
    Python : 2.7.6
    Tkinter : 8.5
    Je n'ai pas fait le test sous linux.
    @+
    Ubuntu 18.04 LTS

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par psl Voir le message
    Bonjour,
    Merci pour l'essai de mon bout de code.
    Configuration :
    OS : Win7
    Python : 2.7.6
    Tkinter : 8.5
    Je n'ai pas fait le test sous linux.
    @+
    Bonjour,

    Je viens de tester votre script sous Win8 Python 2.7.8 Tcl/Tk 8.5 et je n'ai carrément aucune lettre soulignée nulle part, ni dans la barre de menu ni dans les menus eux-mêmes.

    Comme je me doutais que ce comportement était propre à l'OS, j'ai ouvert le script avec notepad.exe => pareil, les menus de notepad.exe ne comportent aucun trait de soulignement.

    J'en ai d'abord conclu que Win7 et Win8 ne prenaient plus en charge les soulignements dans les menus.

    Finalement, j'ai quand même testé le raccourci <Alt>+<lettre soulignée> et je me suis aperçu qu'il fallait maintenir la touche <Alt> enfoncée pour voir les traits de soulignement apparaître.

    Donc c'est toujours pris en charge, mais de manière plus discrète. Voilà tout.

    @+.

  5. #5
    psl
    psl est déconnecté
    Membre actif
    Avatar de psl
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 98
    Points : 242
    Points
    242
    Par défaut
    Bonjour,
    Citation Envoyé par tarball69 Voir le message
    Bonjour,

    Je viens de tester votre script sous Win8 Python 2.7.8 Tcl/Tk 8.5 et je n'ai carrément aucune lettre soulignée nulle part, ni dans la barre de menu ni dans les menus eux-mêmes.

    Comme je me doutais que ce comportement était propre à l'OS, j'ai ouvert le script avec notepad.exe => pareil, les menus de notepad.exe ne comportent aucun trait de soulignement.

    J'en ai d'abord conclu que Win7 et Win8 ne prenaient plus en charge les soulignements dans les menus.

    Finalement, j'ai quand même testé le raccourci <Alt>+<lettre soulignée> et je me suis aperçu qu'il fallait maintenir la touche <Alt> enfoncée pour voir les traits de soulignement apparaître.

    Donc c'est toujours pris en charge, mais de manière plus discrète. Voilà tout.

    @+.
    Merci pour la précision. Bizarre ce comportement !
    Dans ma configuration les "underline" fonctionnent dans les menus déroulants
    Dans la zone menu l'action sur la touche <alt> permet de les afficher.
    Encore merci pour le temps passé à trouver une explication à ce phénomène.
    @+
    Ubuntu 18.04 LTS

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. delphi7 (utilisation du menu quickrep)
    Par benrabah dans le forum Delphi
    Réponses: 3
    Dernier message: 29/06/2007, 16h53
  2. Comment utiliser le Menu avec le SiteMapPath ?
    Par tetaslap dans le forum ASP.NET
    Réponses: 2
    Dernier message: 26/06/2007, 18h17
  3. utiliser le menu contextuel de IE (Export to excell)
    Par cortex024 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 16/05/2007, 16h46
  4. utilisation de menu et menuItem
    Par alphonse62 dans le forum NetBeans
    Réponses: 2
    Dernier message: 06/05/2007, 19h38
  5. utiliser un menu unique pour plusieurs pages...
    Par brouette dans le forum ActionScript 1 & ActionScript 2
    Réponses: 8
    Dernier message: 17/12/2006, 01h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo