Dans le projet Ubuntu Accomplishments, nous rencontrons quelques bugs inhabituels:
A savoir que nous avons une fenêtre avec un GtkNotebook et un GtkIconView sur une page et une autre sur une autre page.
Lorsque l'utilisateur redimensionne la fenêtre, l'icône ne remplit pas automatiquement l'espace avec des icônes (elles restent dans leur disposition de colonne d'origine), mais si l'utilisateur modifie les pages GtkNotebook et actualise ainsi l'icône, l'espace est occupé comme prévu. Comment utiliser automatiquement l'espace lors du redimensionnement de la fenêtre?
Ce qui est plus inquiétant cependant, c'est que lorsque la fenêtre apparaît, nous pouvons la redimensionner plus petite - il semble que la vue d'icône nous empêche de redimensionner et d'avoir ensuite une zone de défilement pour les icônes.
Le code ressemble à ceci. Les ListStores qui pilotent les IconViews:
self.trophystore = Gtk.ListStore(str, GdkPixbuf.Pixbuf, bool, bool, str, str) # title, icon accomplished, locked, app, accomplishment
self.trophystore.set_sort_column_id(COL_TITLE, Gtk.SortType.ASCENDING)
self.trophy_icon.set_model(self.trophystore)
self.oppstore = Gtk.ListStore(str, GdkPixbuf.Pixbuf, bool, bool, str, str) # title, icon, accomplished, locked, app, accomplishment
self.oppstore.set_sort_column_id(COL_TITLE, Gtk.SortType.ASCENDING)
self.opp_icon.set_model(self.oppstore)
self.trophy_icon.set_text_column(COL_TITLE)
self.trophy_icon.set_pixbuf_column(COL_PIXBUF)
self.opp_icon.set_text_column(COL_TITLE)
self.opp_icon.set_pixbuf_column(COL_PIXBUF)
En dehors de cela, nous ne fouinons pas vraiment avec les IconViews, nous ajoutons simplement du contenu aux ListStores pour mettre à jour les vues.
Le code du projet est ici - quelqu'un peut-il recommander comment nous pouvons résoudre ces deux problèmes?