Привет, я посмотрел на другие вопросы и решения для этого, но ни один, кажется, не помогает для моей конкретной проблемы.
Я просто пытаюсь добавить к своему GraphicsView изображение, которое я добавил с помощью Qt designer
.CPP
void test::populateScene()
{
QImage image(":/images/myFile.png");
QGraphicsPixmapItem item(QPixmap::fromImage(image));
QGraphicsScene *scene = new QGraphicsScene;
scene->addItem(&item);
ui->graphicsView->setScene(scene);
}
У меня есть необходимые включения, но когда я нажимаю кнопку «Выполнить», программа сразу же выдает сообщение, которое не отвечает
у меня нет ошибок компилятора, просто нажмите Run, а затем получите test.exe is not responding
любые идеи, это кажется, что это должно быть действительно просто, но я не могу понять, почему это не правильно (в основном из-за отсутствия ошибок компилятора, чтобы просмотреть и найти причину сбоя)
QImage image(":/images/myFile.png");
QGraphicsScene *scene = new QGraphicsScene();
scene->addPixmap(QPixmap::fromImage(image));
scene->setSceneRect(0,0,image.width(),image.height());
ui->graphicsView->setScene(scene);
Никакое другое решение, которое я нашел здесь или где-либо еще для получения изображения в графическом представлении, не сработало, поэтому я опубликую это, чтобы помочь другим, теперь моя проблема решена, не стесняйтесь задавать вопросы
Вы должны разместить свой новый предмет в куче!
http://harmattan-dev.nokia.com/docs/library/html/qt4/qgraphicsscene.html#addItem
Добавляет или перемещает элемент и всех его детей к этой сцене. Эта сцена становится владельцем предмета.
Описание функции довольно понятно: для этого потребуется указатель, действительный для большей области действия вашей функции, чтобы она могла стать ее владельцем.
void test::populateScene()
{
QImage image(":/images/myFile.png");
QGraphicsPixmapItem *item = new QGraphicsPixmapItem(QPixmap::fromImage(image));
QGraphicsScene *scene = new QGraphicsScene;
scene->addItem(item);
ui->graphicsView->setScene(scene);
}