C'est mon premier message. J'ai récemment commencé à utiliser QT avec C++. Je suis très impressionné. J'ai un problème que je ne parviens pas à résoudre. En gros, j'essaie d'organiser de nombreuses QGraphicsItems
en deux QGraphicsItemGroups
. Les éléments sont affichés à l'aide d'un QGraphicsScene
sur un QGraphicsView
. La création des éléments et l'affichage des éléments fonctionnent comme sur des roulettes. Cependant, lorsque j'ajoute le regroupement, le programme se bloque à chaque fois à la commande. La raison de l'ajout des groupements est de pouvoir choisir plus tard les éléments à rendre dans l'événement de peinture. Le code correspondant est indiqué ci-dessous.
QGraphicsScene * scene;
scene = new QGraphicsScene(this);
ui.graphicsView->setScene(scene);
QBrush whiteBrush;
QBrush imageBrush;
QPen blackPen;
whiteBrush = QBrush(Qt::white);
imageBrush = QBrush(Qt::lightGray);
blackPen = QPen(Qt::black);
blackPen.setWidth(1);
QGraphicsItemGroup * cliGroup;
QGraphicsItemGroup * alfGroup;
cliGroup = new QGraphicsItemGroup;
alfGroup = new QGraphicsItemGroup;
scene->addItem(cliGroup);
scene->addItem(alfGroup);
QGraphicsPolygonItem *poly;
poly = scene->addPolygon(polyF, blackPen, imageBrush);
cliGroup->addToGroup(poly); //line it crashes on
Je soupçonne que cela a quelque chose à voir avec la création des polygones dans la scène, puis avec leur ajout dans le fichier d'image. QGraphicsItemGroup
mais je n'arrive pas à trouver comment le modifier pour qu'il fonctionne. J'ai depuis recouru à une solution moins élégante basée sur le filtrage des éléments de la scène en fonction de leur type, mais cette solution est à court terme et désordonnée. Avez-vous des suggestions ?