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 :

[Tkinter] Menu grisé (grayed)


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 192
    Par défaut [Tkinter] Menu grisé (grayed)
    Bonjour,

    j'ai réalisé une petite menubar pour mon application.

    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
     
    root_gui=Tk()
    menubar = Menu(root_gui)
     
    # create a pulldown menu, and add it to the menu bar
    filemenu = Menu(menubar, tearoff=0)
    filemenu.add_command(label="New", command=newproject)
    filemenu.add_command(label="Open", command=openncf)
    filemenu.add_command(label="Save", state=DISABLED, command=write_project_ncf)
    filemenu.add_command(label="Save_As", command=saveasncf)
    filemenu.add_separator()
    filemenu.add_command(label="Exit", command=root_gui.quit)
    menubar.add_cascade(label="File", menu=filemenu)
     
    # create more pulldown menus
    editmenu = Menu(menubar, tearoff=0)
    editmenu.add_command(label="Configure Project", state=DISABLED, command=newproject)
    editmenu.add_command(label="Configure Interface", command=cfginterface)
    menubar.add_cascade(label="Edit", menu=editmenu)
    j'ai mis en grisé le menu edit : COnfigure project car celui-ci n'existe pas encore. Quand je fais new, ça m'ouvre une nouvelle fenetre pour choisir mes données. Ok dès que je clique sur OK de la fenetre, je voudrais que le "configure project" ne soit plus grisé.
    j'ai essayé de mettre la même ligne sans le state=DISABLED, mais cela m'ajoute une nouvelle ligne dans mon menu EDIT.
    COmment puis-je faire ? Suis-je obligé d'effacer cette ligne du menu et de la réecrire?

    Merci

    Tag modifié par Guigui_

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Février 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 76
    Par défaut
    salut,
    la méthode entryconfig() associée aux objets Menu est là pour ça.
    Avec ton code ça donnerais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    filemenu.entryconfig(2, state=ACTIVE)
    où le premier argument (2), est le numéro d'ordre d'insertion de la commande sachant que la numérotation commence à 0.
    cf. http://www.pythonware.com/library/tkinter/introduction/x5841-methods.htm (après le tableau)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 192
    Par défaut
    Bonjour, j'ai résolu mon problème pour le menu grisé:

    Voici mon code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    self.menu = Menu(mbar, tearoff=0, name=name, postcommand = self.update) 
     
    self.edit = self.menu
    self.edit.add_command(label = "Configure Project", state = DISABLED)
    self.edit.add_command(label = "Configure Interface",command = self.cfginterface)
     
    def update(self):
           # At each click , menu is uptaded
            print self.configure_prj
            if self.configure_prj == 1:
    	self.edit.entryconfig(0, state = ACTIVE)
    A chaque click sur le menu, il regarde la valeur de configure_prj, et suivant sa valeur, il definit si c'est ACTIVE ou DISABLED

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

Discussions similaires

  1. élément de menu grisé
    Par bouchra19 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 27/05/2012, 19h22
  2. MacOS : problème avec Tkinter.Menu
    Par nymformaticien dans le forum Tkinter
    Réponses: 1
    Dernier message: 10/06/2010, 10h13
  3. Sous-menu grisé automatiquement. Comment l'activer ?
    Par cricri-larson dans le forum MFC
    Réponses: 2
    Dernier message: 29/08/2009, 00h20
  4. [Tkinter] Menu
    Par KymZen dans le forum Tkinter
    Réponses: 7
    Dernier message: 05/04/2005, 15h40
  5. [SQL Serv2000][Indexation Texte Integral]Choix menu grisé
    Par TreizeSegments dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/12/2004, 09h21

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