這是我的第一篇文章。我最近開始在C++中使用QT。非常感動。我有一個問題,我似乎無法得到處理。基本上,我試圖將許多QGraphicsItems
組織成兩個QGraphicsItemGroups
。這些項目使用QGraphicsScene
在QGraphicsView
上顯示。創建項目和顯示項目就像一個魅力。但是,當我添加分組時,程序每次都會在命令上崩潰。添加分組的原因是稍後能夠選擇在paintevent中呈現哪些項目。下面列出了相關的代碼。追加QGraphicsItems到QGraphicsItemGroup導致崩潰
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
我懷疑它是與現場製作的多邊形,然後將它們添加到QGraphicsItemGroup
,雖然我無法弄清楚如何改變這個工作。我已經訴諸於一種不太優雅的解決方案,它基於根據類型過濾場景中的項目,但這是短期和雜亂的。有什麼建議麼?
你可以從崩潰堆棧跟蹤? –