2010-11-24 24 views
0

J'ai une vue de table dans PyQt qui doit avoir une image dans chaque cellule.Puis-je utiliser une vue tabulaire pour une table contenant plusieurs images?

J'ai utilisé la délégation d'une étiquette (et ajouté une pixmap à cette étiquette). Mais le problème est quand j'ajoute 12 cellules (12 images de taille 60x30 pixels), la table devient trop lente, et j'ai besoin d'une table qui contient des centaines d'images. Dois-je utiliser une autre délégation? Ou est-ce juste faisable avec une vue de table? Si oui, quel est le meilleur widget pour une telle tâche?

Toute réponse pour Qt ou PyQt serait très appréciée.

+0

Pouvez-vous composter les images? –

Répondre

0

Je pense que vous devriez essayer d'utiliser QGraphicsView à cette fin. C'est beaucoup plus rapide de rendre des images dessus.

Une façon intelligente de faire est de créer un énorme outil graphique qui imite une table basée sur le nombre de lignes et de colonnes.

puis d'ajouter des éléments graphicsrectitem enfants comme chaque conteneur de cellule.

Enfin, ajoutez les images en tant qu'élément qgraphicspixmap en tant qu'enfants du rectitem. De cette façon, vous pouvez le rendre plus rapide et interactif puisque vous pouvez les sélectionner individuellement et les rendre mobiles à l'intérieur de la cellule par l'utilisateur en vérifiant la détection de collision pour s'assurer qu'ils ne sont pas tirés hors de la cellule.

espérons que vous fournit une alternative.

0

QListView fournit un icône mode où vous pouvez empiler vos images dans une grille.