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 :

Racourci clavier sur le menu


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur / Enseignant
    Inscrit en
    Février 2012
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur / Enseignant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 115
    Par défaut Racourci clavier sur le menu
    Bonjour à tous

    j'ai compris le fonctionnement de la fonction underline, mais je voudrait savoir, comment faire pour ouvrir un menu ou un sous-menu à partir du raccourci clavier.

    Par exemple, quand j'utilise la touche F, le menu déroulant de Fichier apparait. Même chose avec Clients

    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
    class MenuBar(Frame):
        """Barre de menus déroulants"""
     
        def __init__(self , boss = None):
            Frame.__init__(self , borderwidth = 2)
     
            #####   menu <Fichier>  #####
            fileMenu = Menubutton(self , text = "Fichier" , font = ("Times" , 11 , "bold") , underline = 0)
            fileMenu.pack(side = LEFT)
            # partie déroulante menu Fichier
            menu1 = Menu(fileMenu)
            menu1.add_command(label = "Effacer" , underline = 0 , command = boss.effacer)
            menu1.add_command(label = "Terminer" , underline = 0 , command = boss.quit)
            # intégration du menu
            fileMenu.configure(menu = menu1)
     
            #####   menu <Client>   #####
            self.client = Menubutton(self , text = "Clients" , font = ("Times" , 11 , "bold") , underline = 0)
            self.client.pack(side = LEFT , padx = 4)
            # partie déroulante menu clients
            menu1 = Menu(self.client)
            menu1.add_command(label = "Animaux" , underline = 0 , command = boss.showAnim)
            menu1.add_command(label = "Maîtres" , underline = 0 , command = boss.showMaitr)
            # intégration du menu
            self.client.configure(menu = menu1)

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    En fait, c'est une fonctionnalité du window manager..
    Sous Windows, prenez une application genre Explorer: ou sont ces underlined letters?
    Tant que vous ne les "activez" pas, elles seront invisibles et inactives.

    Pour les "activer", il faut appuyer sur "Alt".
    Le menu montre alors les magic keys (celles qui sont soulignées) pourvu que l'application ait le focus...
    Puis, <Alt><Key> does the trick.

    Et comme une application Tk s'appuie sur...
    Ça le fait aussi.

    J'ai rarement vu des utilisateurs Windows utiliser ce genre de truc. C'est une antiquité. Elle a permis de faire la transition des terminaux mode caractères avec l'interface que vous connaissez: souris, display graphique,... au début des années 90s.
    Mais c'est une interface homme-machine qui a encore du sens dans les usines: c'est bien plus rapide que pointer, cliquer,... surtout lorsqu'on a toujours la même application en face.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur / Enseignant
    Inscrit en
    Février 2012
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur / Enseignant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 115
    Par défaut
    Oui effectivement, sous Windows il faut faire Alt + key.

    J'ai commencé l'informatique il y a très longtemps et effectivement j'ai vu arriver l'interface graphique.

    Alors je dois être de ceux qui utilisent les raccourci clavier et j'utilise beaucoup :
    - Logo Windows+E (Ouvrir le Poste de travail)
    - Logo Windows+R (Ouvrir la boîte de dialogue Exécuter)
    - Logo Windows+D (Afficher le Bureau)

    Donc j'utilise aussi dans les application :
    Ctrl + C (Copier)
    Ctrl + V (Coller)
    Ctrl + X (Couper)
    Ctrl + n (Nouvelle fenêtre)
    Alt + F (pour le menu fichier)
    etc...

    Pour avoir fait des cours interface homme/machine les applications sont encore crées dans ce sens pour faciliter l'utilisation. C'est parfois plus rapide de faire une combinaison de touche quand on a les deux mains sur le clavier que de déplacer la main vers la souris, déplacer le curseur et de faire un ou deux clic...


    Mais bon, c'est bien beau tout ça ma bonne Dame, mais pour mon application développée avec Tkinter et bien le Alt + F ne fonctionne pas.

    Par contre une fois le menu ouvert, je peux cliquer sur la touche correspondante et là ça fonctionne. Exemple, si je clique avec la souris sur Fichier et ensuite je tape Q, je quitte bien mon programme...

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par melwin Voir le message
    Par contre une fois le menu ouvert, je peux cliquer sur la touche correspondante et là ça fonctionne. Exemple, si je clique avec la souris sur Fichier et ensuite je tape Q, je quitte bien mon programme...
    Lorsque un s/menu est "actif", il prendra le "q" sans avoir a presser le "Alt".
    C'est aussi le comportement des programmes Windows qui utilisent cette fonctionnalité.
    Ce n'est pas spécifique a Tk. C'est le Windows Manager qui tourne dessous qui fait le boulot.
    Rendre actif le s/menu passe par cliquer dessus avec la souris ou <Alt><Key>.
    Ce qui est cohérent avec la documentation (windows).

    Vous essayez ça sous quel OS?

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur / Enseignant
    Inscrit en
    Février 2012
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur / Enseignant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 115
    Par défaut
    Je fais bien Q sans le Alt bien entendu.

    Je suis obligé de faire dérouler le menu Fichier en cliquant avec la souris car le ALT + F ne fait rien.

    J'ai aussi un menu Interventions, il faut que je clique dessus pour faire apparaitre la liste (comme pour Fichier) et si je tape M (qui correspond à une key déterminée du menu), j'ai bien le sous-menu qui apparait. Par contre là il me faut cliquer sur les choix du sous-menu car les raccourcis ne fonctionnent pas non plus.

    Je suis sous Windows Seven intégral version 6.1 service pack 1

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    La seule chose que je peux dire c'est que ça fonctionne chez moi "as expected". Ce qui ne fait pas avancer le smilblic.

    Postez un exemple de code reproduisant le comportement constate.

    note: dans le premier "post", vous avez donne du code mais il manque des bouts. Pour le faire marcher, ça oblige a ré-écrire un "contexte".
    Et dans la plupart des cas, on va passer a cote du problème.
    Nous aurons perdu du temps et vous ne serez pas plus avance.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/06/2008, 16h37
  2. [JTable] Raccourci clavier sur une Table
    Par sylvain_2020 dans le forum Composants
    Réponses: 5
    Dernier message: 05/07/2007, 09h01
  3. raccourcis clavier sur le menu popup d'un TMemo
    Par rezuss dans le forum Delphi
    Réponses: 6
    Dernier message: 11/10/2006, 16h42
  4. Comment spécifier des raccourcis claviers sur une Form ?
    Par Sydaze dans le forum Composants VCL
    Réponses: 5
    Dernier message: 17/06/2005, 09h05
  5. Evenement clavier sur toute l'interface
    Par Guybrush dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 08/02/2005, 12h13

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