質問にあるように、UI に QGraphicsView があります。その QGraphicsView に画像を配置する関数を作成しました。
// Read New Image from file
QImage image(":/images/myFile.png");
/// Declare a pointer to a scene
QGraphicsScene *scene = new QGraphicsScene();
// add a pixmap to the scene from the QImage 'image'
scene->addPixmap(QPixmap::fromImage(image));
// set the scene to equal the height and width of the map image
scene->setSceneRect(0,0,image.width(),image.height());
// Set the Scene to the GraphicsView on the UI
ui->graphicsView->setScene(scene);
ただし、画像上の特定の XY 値にドットをペイントできるようにしたいと考えています。私はこれを非常にうまく行う関数を持っていますが、この関数が呼び出されるとすぐにすべてのドットが表示され、画像が消えます:(.これは、シーンをドットがオンになっているシーンに再度設定するためであることがわかっているため、プログラムはただ取得します現在使用しているもの(画像のもの)を取り除く
for(unsigned int i = 0; i < pixels.size(); i++)
{
x = pix_iter->second;
y = pix_iter->first;
scene->addEllipse(x, y, 1, 1, pen, QBrush(Qt::SolidPattern));
pix_iter++;
}
ui->graphicsView->setScene(scene);
とにかく、新しいシーンを設定するのではなく、シーンを更新してドットを追加する方法がわかりません
どんな助けでも本当に感謝します。