Quel est le meilleur choix pour une application GUI Python pour afficher un grand nombre de vignettes, par ex. 10000 ou plus? Pour des raisons de performances, ce contrôle de vignettes doit prendre en charge les éléments virtuels, c'est-à-dire demander l'application pour ces vignettes uniquement qui sont actuellement visibles par l'utilisateur.Contrôle d'image miniature efficace pour Python?
Répondre
Si vous deviez écrire votre propre document, j'ai eu de bons résultats en utilisant la bibliothèque d'imagerie Python pour créer des miniatures dans le passé. http://www.pythonware.com/products/pil/
En wxPython vous pouvez utiliser wxGrid pour cela comme il prend en charge le mode virtuel et équarrisseurs cellule personnalisée.
This est l'interface minimale que vous devez mettre en œuvre un "fournisseur de données" 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
This est l'interface minimale que vous devez mettre en œuvre pour une CellRenderer wxGrid:
class CellRenderer(wx.grid.PyGridCellRenderer):
def Draw(self, grid, attr, dc, rect, row, col, isSelected):
pass
Vous pouvez trouver un exemple de travail qui utilise ces classes dans wxPython docs and demos, il s'appelle Grid_MegaExample.
Juste pour être complet: il y a un thumbnailCtrl écrit dans/pour wxPython, ce qui pourrait être un bon point de départ.
- 1. Disposition efficace pour un serveur python distribué?
- 2. voir en miniature
- 3. Un moyen efficace d'ajouter itérativement à une chaîne en Python?
- 4. Stockage efficace des données Python (Types de données abstraites?)
- 5. Agrandir une image miniature sur le vol stationnaire
- 6. Correspondance efficace de plusieurs expressions rationnelles en Python
- 7. Enveloppe d'entiers de taille arbitraire efficace en Python
- 8. Contrôle getter et setter pour la classe d'un python
- 9. efficace googler noms courts
- 10. Analyse en Python: quel est le moyen le plus efficace pour supprimer/normaliser les chaînes?
- 11. Contrôle par programme de l'optimisation python?
- 12. flux de contrôle du programme en Python
- 13. moyen efficace pour vérifier les domaines parqués?
- 14. Matériel minimum pour un développement Mac efficace
- 15. requête efficace pour plusieurs à plusieurs table
- 16. Algorithme efficace pour trouver des soumissions connexes
- 17. Comment écrire un compteur d'accès efficace pour les sites Web
- 18. Comment devrais-je générer paresseux une image miniature?
- 19. Somme de contrôle du répertoire avec python?
- 20. Créer une miniature, puis convertir en tableau d'octets
- 21. Code Python pour Daemoniser un processus?
- 22. fonction efficace pour convertir float/double pour chaîne
- 23. efficace C# Conseils
- 24. Filtrage/Recherche efficace
- 25. Utilisation efficace du schéma
- 26. Trieur d'arbres efficace
- 27. Algorithme de minuterie efficace
- 28. Aide au codage efficace
- 29. Base de données avec contrôle de la version avec utilisation efficace de diff
- 30. plus efficace le mode de chargement des fichiers au format binaire en Python
Si vous êtes satisfait de PIL, consultez [Pillow] (https://python-pillow.org/) – guival