我正在为 Rhythmbox 开发一个 python 插件——它包含一个 GtkScrolledWindow 和一个子 GtkIconView。IconView 由 Gtk.TreeModel 提供。
它看起来像这样:
目前 - 并且有点低效,为树模型中的每一行绘制每个图标 - 每个图标都是来自文件的 GdkPixbuf。如果您有数千行,则整个图标视图可能需要很长时间才能完全更新每个图片图标。
我想要实现的是只更新当前绘图区域中的图标 - 当用户滚动并释放滚动条(或通过键盘导航)时,新绘图区域中的图标应该使用相关图片进行更新。
注意——此时树模型将被完全填充——只有图标不会被加载。
这不是我真正的专业领域 - 我正在寻找我应该用来实现上述目标的最佳方法的指针。
具体来说 - 可以公开哪个 Gtk+3 绘图区域信号(或多个信号)(Gtk.ScrolledWindow / Gtk.IconView ?)编写 python 代码来计算应该更新哪些图标?