gpt4 book ai didi

python - 加快 gtk.IconView 中的图像加载速度

转载 作者:太空宇宙 更新时间:2023-11-03 19:24:23 26 4
gpt4 key购买 nike

我想显示一个 139 列 * 121 行的图像 map 。

(图片尺寸为32*32像素)

我使用 gtk.Iconviewgtk.ListStore,并用 gtk.gdk.Pixbuf 填充,如下所示:

(二维graph列表包含包含要显示的图像路径的对象)

pixbuf_passage = gtk.gdk.pixbuf_new_from_xpm_data(xpmdata)
for row in graph :
for col in row :
pixbuf = gtk.gdk.pixbuf_new_from_file(col.img_base)

if col.passage :
pixbuf_passage.composite(pixbuf, 0, 0, pixbuf_passage.props.width, pixbuf_passage.props.height, 0, 0, 1.0, 1.0, gtk.gdk.INTERP_BILINEAR, 255)

self.grid.listStore.append([pixbuf, tooltip])

我的问题是图像加载时间可能会很长,具体取决于计算机的配置:

  • 对于具有 4Gb RAM 的 Intel Core i7,约为 20 秒(可接受)
  • 对于具有 4Gb RAM 的 AMD X2 4200+ 来说约为 160 秒(太长了)

有什么办法可以加快图片加载速度吗?也许这里使用 gtk.Iconview 不是最佳选择?

谢谢

最佳答案

PyGTK FAQ为此有一些提示。最重要的似乎是您应该在添加大量条目时卡住 TreeView /图标 View 并暂时取消设置其模型。

treeview.freeze_child_notify()
treeview.set_model(None)

# Add rows to the model
# ...

treeview.set_model(model)
treeview.thaw_child_notify()

使用 g_idle_add 的技巧对于增加 UI 的响应能力也很有用。

关于python - 加快 gtk.IconView 中的图像加载速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8704963/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com