Bonjour,

J'ai un petit soucis. Je n'arrive pas à ajouter des QGraphicsItem à une scène en uilisant la méthode addItem. Voici la partie du code concernée (la methode est un slot):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
void DeckManager::addButton_clicked()
{
  int qt = this->ui->qtMod->text().toInt();
 
  /* ajout des cartes */
  for(int i = 0; i < qt; i++)
  {
    CGBGraphicsCard* itemCard = new CGBGraphicsCard();
    Card* card = new Card();
    card->setId(5);
    itemCard->setCard(card);
 
    QString pictURL = "./CGBData/MTG/en/zen/";
    pictURL.append(i).append(".jpg");
    QPixmap pict(pictURL);
    itemCard->setPixmap(pict);
 
    this->ui->cardBrowser->scene()->addItem(itemCard);
    std::cout << this->ui->cardBrowser->scene()->children().length() << std::endl;
  }
}
Pour information CGBGraphicsCard hérite de QGraphicsPixmapItem et est donc un QGraphicsItem. Je n'ai aucun message d'erreur ni à la compilation ni à l’exécution.

Par contre à chaque itération de la boucle for le nombre d'enfants retourné (appel à std::cout pour l'afficher en console) pour l'object QGraphicsScene est 1.

J'obtiens le même problème en définissant une nouvelle scène au lieu de récupérer celle de mon interface.

Quelqu'un aurait il des pistes à me donner pour comprendre d'où vient le problème car j'avoue sincèrement que je sèche depuis un moment sur ce problème

Cordialement,
Shadowind

PS: si vous avez besoin de plus de code je mettrais selon les demandes, mais je ne voulais pas alourdi le message inutilement.