Python GUI 应用程序显示大量缩略图(例如 10000 个或更多)的最佳选择是什么?出于性能原因,此类缩略图控制必须支持虚拟项目,即仅请求用户当前可见的那些缩略图的应用程序。
scratcher
问问题
2588 次
3 回答
2
在wxPython中,您可以为此使用wxGrid,因为它支持虚拟模式和自定义单元格渲染器。
这是您必须为 wxGrid“数据提供者”实现的最小接口:
class GridData(wx.grid.PyGridTableBase):
def GetColLabelValue(self, col):
pass
def GetNumberRows(self):
pass
def GetNumberCols(self):
pass
def IsEmptyCell(self, row, col):
pass
def GetValue(self, row, col):
pass
这是您必须为 wxGrid 单元格渲染器实现的最小接口:
class CellRenderer(wx.grid.PyGridCellRenderer):
def Draw(self, grid, attr, dc, rect, row, col, isSelected):
pass
您可以在wxPython 文档和演示中找到一个使用这些类的工作示例,它称为 Grid_MegaExample。
于 2008-10-18T16:48:04.777 回答
1
如果您不得不自己编写,我过去使用 Python 图像库创建缩略图取得了很好的效果。 http://www.pythonware.com/products/pil/
于 2008-10-18T15:40:32.417 回答
1
只是为了完整性:有一个用 wxPython 编写的thumbnailCtrl,这可能是一个很好的起点。
于 2009-01-18T14:10:15.473 回答