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
Version imprimable
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 ?
Oui j'utilise 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:
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:
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:
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: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 !!!
;)