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 :

Sélectionner un Radiobutton dans un menu.


Sujet :

Tkinter Python

  1. #1
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut Sélectionner un Radiobutton dans un menu.
    Salut les Pythons Tkinter.
    Je me trouve face a la difficulté de ne pouvoir (pré)sélectionner un radiobutton se trouvant dans un Menu, composant de celui-çi, ni au lancement de l'application ni par la programmation, par contre quand l'utilisateur le selectionne sa marche mais dans un soucis de restauration de configuration j'aimerai que le radiobutton soit selectionnable par programmation et aussi au début de l'application afin que l'utilisateur voie quel radiobutton est sélectionner ( Qu'il y ai un point en face du radiobutton ).

    j'ai essayer d'affecter une variable au radiobutton et d'appeler la méthode select() mais sa ne fonctionne pas.

    Afin de vous éclairer comment est construit mon menu un petit script servant d'exemple:
    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
     
    from Tkinter import *
     
    def radio_1() :
      global g
      g.select() #sa ne marche pas
     
    def radio_2() :
      global f
      f.select() #sa ne marche pas
     
    a=Tk()
    b=Menubutton(a, text='menu')
    c=Menu(b)
    d=Menu(b)
    e=c.add_cascade(label='test', menu=d)
    f=d.add_radiobutton(label='test 1', command=radio_1)
    g=d.add_radiobutton(label='test 2', command=radio_2)
    b.configure(menu=c)
    f.select() # sa ne marche pas
    b.pack()
    a.mainloop()
    Si quelqu'un sait comment sélectionner un radiobutton faisant partie intégrante d'un menu, sa serai sympa de poster.

  2. #2
    Membre expérimenté
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Points : 1 351
    Points
    1 351
    Par défaut
    Salut,

    Il faut créer un IntVar commun aux radiobuttons. Pour savoir quel radio button est actif, il faut faire un value_var.get(). Si tu veux forcer un radiobutton sans passer par un click dans le menu, c'est un value_var.set(value). Si tu veux effectuer un traitement, il faut mettre un callback dans "command".

    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
    from Tkinter import *
    import sys
    def radiohook() :
        sys.stdout.write("%i "%value_var.get())
     
    a=Tk()
    value_var = IntVar()
    b=Menubutton(a, text='menu')
    c=Menu(b)
    d=Menu(b)
    e=c.add_cascade(label='test', menu=d)
    f=d.add_radiobutton(label='test 1', value=1, variable=value_var, command=radiohook)
    g=d.add_radiobutton(label='test 2', value=2, variable=value_var, command=radiohook)
    h=d.add_radiobutton(label='test 3', value=3, variable=value_var, command=radiohook)
    b.configure(menu=c)
    value_var.set(1) # sa ne marche pas
    b.pack()
    a.mainloop()
    A+

    Pfeuh

  3. #3
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut
    Merci pour le tuyau des IntVar afin de pouvoir selectionner les radiobutton dans un Menu.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/11/2013, 11h39
  2. Réponses: 0
    Dernier message: 24/05/2011, 10h03
  3. Réponses: 11
    Dernier message: 28/02/2007, 12h18
  4. Elément de niveau supérieur dans un menu
    Par pascalT dans le forum Composants VCL
    Réponses: 2
    Dernier message: 27/03/2003, 09h39
  5. CustomDraw dans un menu: TCanvas ????
    Par Invité dans le forum Composants VCL
    Réponses: 2
    Dernier message: 11/02/2003, 15h37

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