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] Combobox, get()


Sujet :

Tkinter Python

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 80
    Points : 74
    Points
    74
    Par défaut [Tkinter] Combobox, get()
    Bonjour, je cherche a récupérer dans une combobox non pas la séléction mais bien le "numéro" de cette selection...
    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
    class Frame_principal (Tk.Frame):
     def __init__(self, parent):
     
      Tk.Frame.__init__(self, parent)
     
      self.varcombo_left = Tix.StringVar()
      self.combo_left = Tix.ComboBox(self, editable=1, dropdown=1, variable=self.varcombo_left)
      self.combo_left.entry.config(state='readonly')
      self.combo_left.insert(1, "-- ")
      self.combo_left.insert(2, "^ ")
      self.combo_left.insert(3, "-- ] ")
      self.combo_left.insert(4, "< ")
      self.combo_left.insert(5, ">( ")
      self.combo_left.insert(6, "[ ")
      self.combo_left.insert(7, '7')
      self.combo_left.insert(8, '8')
      self.combo_left.insert(9, '9')
      self.combo_left.insert(10, '10')
      self.combo_left.insert(11, '11')
      self.combo_left.insert(12, '12')
      self.combo_left.insert(13, '13')
      self.combo_left.insert(14, '14')
      self.combo_left.insert(15, '15')
      self.combo_left.insert(16, '16')
      self.combo_left.insert(17, '17')
      self.combo_left.insert(18, '18')
      self.combo_left.insert(19, '19')
      self.combo_left.insert(20, '20')
      self.combo_left.insert(21, '')
      self.combo_left.grid(row=1, column=1)
    Frame_principal()
     
    mainloop ()
    Donc, par exemple, je sélectionne " -- " qui correspond au numéro 1 de self.combo_left.insert.
    J'aimerais faire un print self.varcombo_left.get() mais avec le 'numero de code' de la séléction...

  2. #2
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def Affiche(evt):
        print varcombo_left.get() ## On affiche a l'ecran la valeur selectionnee
        print combo_left.subwidget('listbox').curselection() ## Affiche l'index (attention un tuple) 
                          ## de la listbox
        print combo_left.subwidget('listbox').get(combo.subwidget('listbox').curselection()) 
           ## equivalent a varcombo.get()
    Comme une combo est une composé de plusieurs widget, tu peux accéder à chacun des widget par combo.subwidget( lesouswidget) et ensuite utilisé les fonctions applicables à ces sous widgets.

    Tu trouveras le nom des souswidget ici: http://tix.sourceforge.net/dist/curr...ixComboBox.htm (en général, c'est le nom de la classe sans les majuscules).

  3. #3
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 80
    Points : 74
    Points
    74
    Par défaut
    Super, c'est ca que je voulais Merci bcp.


    edit: merci pour le lien

  4. #4
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 80
    Points : 74
    Points
    74
    Par défaut
    Je UP (c'est dans la suite du sujet)

    Comment puis-je modifier la selection de ma combobox. cad: comment, via une fct modifier la selection de ma combobox?
    J'ai essayé un self.combo.config mais je l'ai surement mal placé :s et ca ne marche pas.

    Merci des reponses. (ce n'est pas ds la faq)

  5. #5
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    si tu connais l'index:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    combo_left.pick(monindex)
    sinon, tu dois parcourir ta combo jusqu'à trouver le bon index
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for index in range(combo.subwidget('listbox').size()):
        if combo.subwidget('listbox').get(index) == monelement:
            combo.pick(index)
            break

  6. #6
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 80
    Points : 74
    Points
    74
    Par défaut
    J'ai l'index, je test et j'édit

    Merci bcp

    ---------
    [édit]: Ca marche

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 21
    Points : 25
    Points
    25
    Par défaut
    Bonjour, j'ai exactement la même question mais avec la combobox de Pmw.
    J'aimerai connaitre l'index de l'élément selectionné .

  8. #8
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 80
    Points : 74
    Points
    74
    Par défaut
    Je ne suis pas familier de Pmw, mais il me semble que ca doit être la même chose ou quasi.

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

Discussions similaires

  1. Tkinter.Text get last line
    Par ____22 dans le forum Tkinter
    Réponses: 0
    Dernier message: 30/08/2010, 12h43
  2. get comboBox sur un formPanel
    Par frankySIG dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 13/07/2010, 12h27
  3. ComboBox avec Tkinter
    Par Spitfire 95 dans le forum Tkinter
    Réponses: 3
    Dernier message: 14/02/2010, 12h45
  4. [Tkinter][Pmw.ComboBox] assignation de valeur
    Par airod dans le forum Tkinter
    Réponses: 1
    Dernier message: 08/11/2006, 17h13
  5. [Tkinter] Méthode get() dans une boucle while
    Par Thundie dans le forum Tkinter
    Réponses: 2
    Dernier message: 04/02/2006, 00h06

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