Эффективный метод для сетки кликабельных изображений в wxPython? - PullRequest
1 голос
/ 15 апреля 2011

Какой самый эффективный метод для отображения сетки из около 1000 интерактивных изображений в wxPython?

В настоящее время я использую GridSizer, заполненный StaticBitmap объектами.Но это довольно медленно для 500+ изображений.

Еще одна вещь, у меня есть список категорий слева.То есть фильтровать изображения.Категории будут как «Все», «Кошка 1», «Кошка 2» и т. Д. Когда я нажимаю «Все», все изображения должны отображаться.

Как я делаю это в настоящее время:

  • VERTICAL BoxSizer будет содержать n GridSizer объектов, по одному для каждой категории.Я добавляю объекты StaticBitmap к нескольким GridSizer в зависимости от категорий, к которым он принадлежит.
  • Затем я отображаю только тот GridSizer, в зависимости от того, какая категория выбрана

Этот метод также ужасно медленный для чего-либо более 300 изображений.Итак, как мне добиться того же эффекта эффективно?

.

Ответы [ 2 ]

1 голос
/ 15 апреля 2011

Я предполагаю, что не все 1000 изображений отображаются одновременно, верно?Если это так, вы сможете загрузить нужное вам число, а когда пользователь прокрутит, при необходимости загрузите следующий набор.Я думаю, что люди из списка wxPython обычно используют контроллеры домена, чтобы перетаскивать свои изображения на экране, или они используют виджет FloatCanvas.Я бы рекомендовал спросить в их списке, где есть несколько экспертов по рисованию изображений на экране: https://groups.google.com/forum/#!forum/wxpython-users

0 голосов
/ 15 апреля 2011

Я думаю, что ListCtrl в стиле ICON будет лучшим способом сделать это.

Если вы посмотрите демоверсии wxPython, пример UltimateListCtrl в стиле wx.LC_ICON является хорошим примером того, что вы можете создать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...