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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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)

+ 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