Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Python treeview et dictionnaire

1 réponse
Avatar
stealth
Bonjour =E0 tous,

J'utilise python, et Gtk/Glade pour r=E9aliser l'interface graphique de
mon application.
J'affiche un dictionnaire dans une treeview avec le code suivant

model =3D gtk.TreeStore(str)
for server,ip in ARTICLES.iteritems():
iter =3D model.append(None)
model.set_value(iter,0,server)
iter2 =3D model.append(iter)
model.set_value(iter2,0,ip)
self.tree.set_model(model)

Et =E7a fonctionne parfaitement, malheuresement les dictionnaires sont
non ordonn=E9s, ce qui me pose soucis maintenant qu'il grossit ...
En v=E9rit=E9, je me fiche pas mal que le stockage de mon dictionnaire
soit non ordonn=E9s mais c'est l'affichage dans la fenetre GTK qui me
pose soucis (il est maintenant difficile de retrouver ses petits)

Dans un cas comme celui comment faire pour trier l'affichage du
dictionnaire de mani=E9re alphab=E9tique ?=20

Merci par avance

1 réponse

Avatar
Guillaume Bouchard
wrote:
Bonjour à tous,


Coucou.

J'affiche un dictionnaire dans une treeview avec le code suivant

model = gtk.TreeStore(str)
for server,ip in ARTICLES.iteritems():
iter = model.append(None)
model.set_value(iter,0,server)
iter2 = model.append(iter)
model.set_value(iter2,0,ip)
self.tree.set_model(model)

En vérité, je me fiche pas mal que le stockage de mon dictionnaire
soit non ordonnés mais c'est l'affichage dans la fenetre GTK qui me
pose soucis (il est maintenant difficile de retrouver ses petits)


Tu veux ordonnner suivant server ?

for server,ip in sorted(ARTICLE.iteritems()):

tu peut aussi t'amuser plus en profondeur avec sorted :

article = {'a': 5, 'c': 9, 'b': 6, 'BOB': 7}
sorted(article.iteritems(),key=(lambda x:x[0].lower()))
[('a', 5), ('b', 6), ('BOB', 7), ('c', 9)]




--
Guillaume.