Эффективное управление Thumbnail изображениями для Python?

Каков наилучший выбор для приложения Python GUI для отображения большого количества миниатюр, например, 10000 или более? По соображениям производительности такое управление эскизами должно поддерживать виртуальные элементы, т. Е. Запрашивать приложение только для тех эскизов, которые в настоящее время видны пользователю.

  • Как убить приложение WxPython, когда пользователь нажимает кнопку закрытия кадра
  • Анимация панели Matplotlib - блиские листья старых кадров позади
  • Как управлять / вызывать другой скрипт python в одном скрипте python? (Общение между скриптами)
  • Как я могу заморозить приложение с двумя режимами (GUI и консоль), используя cx_Freeze?
  • Меню wxPython не отображает изображение
  • Когда требуется «я»?
  • Как хранить объекты, отличные от строк, в комьюнити wxPython?
  • Как нарисовать индикатор выполнения wxPython
  • 3 Solutions collect form web for “Эффективное управление Thumbnail изображениями для Python?”

    В 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.

    Если вам приходилось прибегать к написанию собственного, у меня были хорошие результаты с использованием библиотеки изображений Python для создания эскизов в прошлом. http://www.pythonware.com/products/pil/

    Просто для полноты: есть файл thumbnailCtrl, написанный в / для wxPython, который может быть хорошей отправной точкой.

    Python - лучший язык программирования в мире.