1
我想顯示一個139 cols * 121行的圖像映射。在gtk中加速圖像加載.IconView
(圖像尺寸是32×32像素)
我使用gtk.Iconview
與gtk.ListStore
我填充gtk.gdk.Pixbuf
,像這樣:
(二維列表包含包含該圖像中的物體路徑顯示)
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])
我的問題是圖像加載時間可能很長,這取決於計算機的配置:
個- 〜20多歲的英特爾酷睿i7擁有4GB RAM(這是可以接受的)
- 〜160S的AMD X2 4200 + 4GB內存(這是太長)
有什麼辦法加快圖像加載? 也許在這裏使用gtk.Iconview不是最優的?
感謝
PyGTK FAQ中有一個[相關討論](http://faq.pygtk.org/index.py?req=show&file=faq13.043.htp),你可以試試。如果這沒有幫助,你可以實現某種按需加載(IIRC Rhythmbox(或者是Banshee?)這樣做),但是我認爲這並不容易。 – 2012-01-03 11:57:37
您使用的是哪個版本的GTK?在哪個平臺上? – liberforce 2012-01-03 12:21:35
@liberforce:我在Linux(x64)上使用PyGTK的2.24.0版本和GTK的2.24.8版本,但是在Windows上有相同的效果。 – 2012-01-03 17:58:05