Trong dự án Hoàn thành Ubuntu, chúng tôi gặp một số lỗi bất thường:
Cụ thể là chúng tôi có một cửa sổ với GtkNotebook và GtkIconView trên một trang và một cửa sổ khác trên một trang khác.
Khi người dùng thay đổi kích thước cửa sổ, iconview không tự động lấp đầy không gian bằng các biểu tượng (chúng vẫn ở trong bố cục cột ban đầu của chúng) nhưng nếu người dùng thay đổi các trang GtkNotebook và do đó làm mới biểu tượng xem không gian sẽ được chiếm như mong đợi. Làm thế nào chúng ta có thể tự động sử dụng không gian khi thay đổi kích thước cửa sổ?
Điều đáng quan tâm hơn là khi cửa sổ xuất hiện, chúng ta có thể thay đổi kích thước nhỏ hơn - có vẻ như iconview đang chặn chúng ta thay đổi kích thước và sau đó có một vùng có thể cuộn cho các biểu tượng.
Mã trông như thế này. ListStores điều khiển 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)
Khác với điều này, chúng tôi không thực sự chọc ngoáy với IconView, chúng tôi chỉ thêm nội dung vào ListStores để cập nhật lượt xem.
Mã cho dự án là ở đây - bất cứ ai cũng có thể đề nghị làm thế nào chúng ta có thể khắc phục hai vấn đề này?