IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Ajouter plusieurs QGraphicsItem dans un QGraphicsScene


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Avatar de mac&cheese
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 98
    Par défaut Ajouter plusieurs QGraphicsItem dans un QGraphicsScene
    Bonsoir à tous,

    Decidement j'ai des soucis avec les QGraphics.
    Voila mon soucis, je voudrais ajouter plusieurs QGraphicsPixmapItem à mon QGraphicsScene mais j'ai un joli message d'erreur:
    QGraphicsScene::addItem: item has already been added to this scene
    Je cherche à faire une visionneuse d'images miniatures.
    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // affichage visionneuse
      QPoint posPixmapItem(0, 0);
      for (int i = 0; i < file.size(); i++) {
        QPixmap pixmapTemp(file.at(i));
        graphicsPixmapItem->setPixmap(pixmapTemp.scaled(110, 110));
        posPixmapItem.setX(120 * i);
        graphicsPixmapItem->setPos(posPixmapItem);
        graphicsScene->addItem(graphicsPixmapItem);
      }
      itemListView->setScene(graphicsScene);
      itemListView->show();
    Pour info, "file" est un QStringList contenant les chemins de mes images.
    Avez vous une petite idée d'ou viens mon probleme?
    D'apres la doc, j'ai cru comprendre qu'un QGraphicsScene peut contenir plusieurs QGraphicsItem.

    note: QGraphicsPixmapItem herite de QGraphicsItem.

    Voila j'espere avoir été assez clair.

    Merci par avance.

    Mac & Cheese

  2. #2
    Membre Expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Par défaut
    Salut,

    Il faut que tu instancies autant de QGraphicsItem que nécessaire, or là tu te contentes de modifier et ajouter toujours le même.

  3. #3
    Membre confirmé
    Avatar de mac&cheese
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 98
    Par défaut
    Daccord je n'avais pas vu cela comme ça.
    Penses tu qu'il faudrait que j'instancie dans ma boucle dans ce cas la?

    Merci d'avoir repondu aussi rapidement.

    Mac & Cheese

  4. #4
    Membre Expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Par défaut
    Oui, c'est même indispensable

  5. #5
    Membre confirmé
    Avatar de mac&cheese
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 98
    Par défaut
    Voici mon nouveau code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // affichage visionneuse
      QPoint posPixmapItem(0, 0);
      for (int i = 0; i < file.size(); i++) {
        QPixmap pixmapTemp(file.at(i));
        QGraphicsPixmapItem graphicsPixmapItem(pixmapTemp.scaled(110, 110));
        posPixmapItem.setX(120 * i);
        graphicsPixmapItem.setPos(posPixmapItem);
        graphicsScene->addItem(&graphicsPixmapItem);
      }
      itemListView->setScene(graphicsScene);
      itemListView->show();
    Les images ne s'afiche pas, mais plus de warning.N'est ce pas du au faite qu'a la sortie de la boucle les QGraphicsPixmapItem sont detruits?

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par mac&cheese Voir le message
    Les images ne s'afiche pas, mais plus de warning.N'est ce pas du au faite qu'a la sortie de la boucle les QGraphicsPixmapItem sont detruits?
    premiere fois que je vois une question avec sa reponse.
    En faite à chaque boucle tu créé et détruit ton item

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajouter plusieurs paramètres dans un lien
    Par Orb Dorb dans le forum Flash
    Réponses: 4
    Dernier message: 30/10/2008, 04h03
  2. Réponses: 3
    Dernier message: 16/06/2008, 17h27
  3. [MySQL] comment ajouter plusieurs articles dans une BD MySql+tables temporaires
    Par forbidden_fruit dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 19/05/2008, 12h00
  4. Ajouter plusieurs entrées dans une table
    Par flab78 dans le forum Débuter
    Réponses: 2
    Dernier message: 25/04/2008, 15h17
  5. requêtes ajout plusieurs données dans une table
    Par COLOMBAT dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 04/04/2008, 17h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo