【发布时间】:2011-10-23 20:01:59
【问题描述】:
我对 GTK 用户有疑问,在我的程序中我需要很多图像,我想知道我是否可以以某种方式将 iconview 与图像连接起来?因为其中一些图像会很大,我想在一个窗口中显示小矮人,在另一个窗口中显示全尺寸。还是我必须使用表格,然后从图像中制作小图标,将它们放在表格内,保存原始尺寸,然后在另一个我想要完整尺寸图片的窗口中恢复原始尺寸?
抱歉打扰,提前致谢。
【问题讨论】:
我对 GTK 用户有疑问,在我的程序中我需要很多图像,我想知道我是否可以以某种方式将 iconview 与图像连接起来?因为其中一些图像会很大,我想在一个窗口中显示小矮人,在另一个窗口中显示全尺寸。还是我必须使用表格,然后从图像中制作小图标,将它们放在表格内,保存原始尺寸,然后在另一个我想要完整尺寸图片的窗口中恢复原始尺寸?
抱歉打扰,提前致谢。
【问题讨论】:
您必须先手动加载图像(使用gdk_pixbuf_new_from_file() 或gdk_pixbuf_new_from_file_at_size())。然后手动创建您需要的不同尺寸(使用gdk_pixbuf_scale() 或gdk_pixbuf_scale_simple())。要将图像添加到图标视图,您必须创建一个“GtkListStore”(或任何其他实现 GtkTreeModel 接口的对象)并将按比例缩小的 pixbuf 添加到其中。最好在单独的线程中执行此操作,因为加载图像可能需要一些时间,并且您不希望应用程序锁定。
【讨论】: