wxPython中可点击图像网格的有效方法?

时间:2011-04-15 17:50:29

标签: python image performance wxpython

在wxPython中显示大约1000个可点击图像的网格的最有效方法是什么?

目前我正在使用GridSizer填充StaticBitmap个对象。但它对500多张图像来说相当慢。

还有一件事是,我左边有一个类别列表框。那就是过滤图像。类别将类似于“全部”,“猫1”,“猫2”等。当我单击“全部”时,必须显示所有图像。

我目前如何做到这一点:

  • A VERTICAL BoxSizer将包含n GridSizer个对象,每个对象一个 类别。我添加StaticBitmap 对象到多个GridSizer 取决于它的类别 属于。
  • 然后我只显示GridSizer 取决于哪个类别 选择

对于300多张图像,这种方法也非常慢。那么,我如何有效地达到同样的效果呢?

2 个答案:

答案 0 :(得分:1)

我假设并非所有1000张图片同时出现在屏幕上,对吗?如果是这样,您应该只需加载所需的数字,当用户滚动时,根据需要加载下一组。我认为wxPython列表中的人通常使用DC来在屏幕上显示他们的图像,或者他们使用FloatCanvas小部件。我建议在他们的列表上询问有多位专家在屏幕上绘制图像:https://groups.google.com/forum/#!forum/wxpython-users

答案 1 :(得分:0)

我认为ICON风格的ListCtrl是最好的方法。

如果你看一下wxPython演示,wx.LC_ICON风格的UltimateListCtrl示例就是你可以创建的一个很好的例子。