Ubuntu Başarıları projesinde birkaç olağandışı hata var:
Yani bir sayfada GtkNotebook ve GtkIconView içeren bir pencere, başka bir sayfada başka bir pencere var.
Kullanıcı pencereyi yeniden boyutlandırdığında, iconview alanı otomatik olarak simgelerle doldurmaz (orijinal sütun düzeninde kalır), ancak kullanıcı GtkNotebook sayfalarını değiştirir ve böylece simge görünümünü yeniler, alan beklendiği gibi alınır. Pencereyi yeniden boyutlandırırken alanı otomatik olarak nasıl kullanabiliriz?
Daha da önemlisi, pencere göründüğünde, pencereyi daha küçük boyutlandırabiliriz - simge görünümü bizi yeniden boyutlandırmamızı engelliyor ve daha sonra simgeler için kaydırılabilir bir bölgeye sahip gibi görünüyor.
Kod şuna benzer. IconView'ları çalıştıran ListStores:
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)
Bunun dışında, gerçekten IconView'lerle uğraşmıyoruz, sadece görünümleri güncellemek için ListStores'a içerik ekliyoruz.
Proje kodu burada - herkes bu iki sorunu nasıl çözebileceğimizi önerebilir mi?