在Ubuntu成就项目中,我们遇到了一些不寻常的错误:
也就是说,我们有一个窗口,在一个页面上有一个GtkNotebook和一个GtkIconView,在另一个页面上有另一个。
当用户调整窗口大小时,iconview不会自动用图标填充空间(它们保持其原始列布局),但是如果用户更改GtkNotebook页面并刷新图标视图,则该空间将按预期占用。调整窗口大小时如何自动使用空间?
不过,更令人担忧的是,当窗口出现时,我们可以将其调整为较小的尺寸-好像iconview阻止了我们调整大小,然后为图标提供了一个可滚动区域。
代码看起来像这样。驱动IconView的ListStore:
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)
除此之外,我们并没有真正使用IconView,而是只向ListStore添加内容以更新视图。
该项目的代码在这里 -谁能建议我们如何解决这两个问题?