我已经在PyGTK中实现了一个自定义的CellRenderer,它可能需要比理想情况下更长的渲染时间。可能有多个图像需要缩放,所以当用户单击ComboBox时,它甚至不会显示弹出窗口,直到渲染完成。如果我可以显示弹出窗口,然后渲染图像,那就好了。你可以在我的Google Code Repository上看。
我已经实现了缓存,所以在第一次加载后,它将从内存或磁盘的单个映像加载,但第一次加载每个单元可能需要2-4秒。
我想实现的东西包括,当应用程序加载时弹出组合框,以便强制它渲染图像。在我运行的测试中,这似乎不起作用。
我还试图创建一个不可见的CairoContext和图面,但我要求它是一个gtk.gdk.CairoContext,我认为没有实际的小部件是无法启动的。有一种可能,我可以在屏幕外的小部件中呈现它,但我不确定这是不是一个好主意,甚至可能。
发布于 2011-01-01 06:07:53
我使用的是在屏幕加载后使用idle_add渲染的Pixmap,因为它在屏幕上的窗口中渲染之前不会初始化窗口。您可以在themeselect.py中找到代码。看看load_theme_thumbs()和_get_pixmap()。
发布于 2010-12-24 00:47:30
正如你所提到的,我不认为在屏幕外渲染它有什么坏处,我这样做也是出于类似的原因。这应该是可能的,除非你正在做一些非常奇怪的事情。
https://stackoverflow.com/questions/4511905
复制相似问题