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
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
Bonjour,
Tu utilises Tix ?
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)
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)
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)
ç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
bonsoir,
pour ca il faut voir la méthode
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part w.minsize(height=y,width=x)
C'est bon merci !!!
J'ai terminé mon application et donc je ne devrais plus vous embeter !!!
Enfin jusqu'à la prochaine appli en python !!!
![]()
Partager