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 :

autodimensionner une combobox


Sujet :

Tkinter Python

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 25
    Par défaut autodimensionner une combobox
    Bonjour,

    Je suis sous TKinter et j'utilise une combobox.
    Je voudrais savoir comment on fait pour que celle-ci soit automatiquement de la largeur de la plus grande chaine de caractere ki est dans ma liste !?

    D'avance merci

  2. #2
    Membre chevronné
    Homme Profil pro
    Responsable du parc et des réseaux de télécommunication
    Inscrit en
    Mai 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable du parc et des réseaux de télécommunication
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2003
    Messages : 290
    Par défaut
    Bonjour,
    Tu utilises Tix ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 25
    Par défaut
    Oui j'utilise TIX !

  4. #4
    Membre chevronné
    Homme Profil pro
    Responsable du parc et des réseaux de télécommunication
    Inscrit en
    Mai 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable du parc et des réseaux de télécommunication
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2003
    Messages : 290
    Par défaut
    Tu peux accéder à la listbox de ta combobox (voir la faq).
    Je pense qu'il faut créer une fonction dans ce style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    liste=monCombo.subwidget_list['slistbox'].subwidget_list['listbox'].get(0,Tix.END)
    max=0
    for i in liste:
        if len(i)>max:
            max=len(i)
    monCombo.subwidget_list['slistbox'].subwidget_list['listbox'].config(width=max)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 25
    Par défaut
    J'ai essayé cette méthode, mais ça ne fonctionne pas.
    Je pense que ça vient du width car même si je le mets à 100, ça ne change rien.

    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
    #Initialisation de la combo
    self.combo = ComboBox(Fr1, label="FEP: ", editable=False, command=self.FEPsListValueChangedCB)
            self.combo.config(state=NORMAL)
            self.combo.pack(side=RIGHT)
    ...
    # Mise a jour de la combo
    # Delete the Version Elements value in the combobox
            self.combo.slistbox.listbox.delete(1, END)
            # Delete the actual visu
            self.Visu.delete( 1.0, END)
            # Unlocked the combobox
            self.combo.config(state=NORMAL)
            # Updating of the Combobox with the FEP list
            self.combo.config(label="FEP", value="")
            for keys in self.app.getDoc().sortListFep():
                self.combo.slistbox.listbox.insert(END, keys)
            list=self.combo.slistbox.listbox.get(0,END)
            self.combo.pack( side=RIGHT)
            self.combo.config(width=self.sizeCombo(list), command=self.ShowFEPCmt)

  6. #6
    Membre chevronné
    Homme Profil pro
    Responsable du parc et des réseaux de télécommunication
    Inscrit en
    Mai 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable du parc et des réseaux de télécommunication
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2003
    Messages : 290
    Par défaut
    On va y arriver ...
    Essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    self.combo.subwidget_list['slistbox'].subwidget_list['listbox'].config(width=largeurMax)
    self.combo.subwidget_list['entry'].config(width=largeurMax)

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 25
    Par défaut
    ça marche !!!!

    Merci beaucoup !!!!

    Puis-je vous embeter encore un peu !?

    J'ai autorisé le resize de mon frame (extand =1), le problème, c'est que quand les utilisateurs rétraicissent trop la fenêtre, on ne voit plus la combo !!!

    Je voudrais bloquer la taille du frame avec une taille minimum !?
    Comment faire !?

    Merci d'avance

  8. #8
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Par défaut
    bonsoir,
    pour ca il faut voir la méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    w.minsize(height=y,width=x)
    A+

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 25
    Par défaut
    C'est bon merci !!!

    J'ai terminé mon application et donc je ne devrais plus vous embeter !!!

    Enfin jusqu'à la prochaine appli en python !!!

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

Discussions similaires

  1. Multi-selection dans une ComboBox ?
    Par Moloko dans le forum MFC
    Réponses: 5
    Dernier message: 07/07/2021, 17h26
  2. [TStringGrid] intégrer une ComboBox
    Par AnneOlga dans le forum C++Builder
    Réponses: 2
    Dernier message: 14/10/2004, 15h46
  3. [VB6] largeur d'une zone de liste d'une combobox
    Par Nick13 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 28/08/2004, 12h30
  4. Réponses: 2
    Dernier message: 26/07/2004, 13h34
  5. Pré-sélectionner un élément d'une combobox
    Par delphim dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/06/2003, 15h26

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