2014-01-16 1 views
1

Qt GUI C++ 프로젝트에서 작업합니다. 리소스 파일에서 이미지를 표시하려고 시도하며 슬라이드 쇼 사진 재생과 같은 더 많은 요구 사항이 있습니다. 디버깅 할 때 어려움을 겪습니다. 그냥 흰색 화면을 보였습니다. GraphicsView에 이미지가로드되지 않았다고 생각했습니다. main.cpp와 mainwindow.ui에서, 나는 편집하지 않고 기본값처럼 유지한다. 이 문제를 해결하는 데 도움을주십시오. 사전Qt GUI에서 이미지로드 및 표시

mainwindow.cpp

#include "mainwindow.h" 
#include "ui_mainwindow.h" 
#include <QPixmap> 
#include <QGraphicsPixmapItem> 
#include <QMessageBox> 
#include <QGraphicsView> 
#include <QStackedWidget> 
#include <QGraphicsScene> 
#include <QDataStream> 
#include <QFile> 

MainWindow::MainWindow(QWidget *parent) : 
    QMainWindow(parent), 
    ui(new Ui::MainWindow) 
{ 
    ui->setupUi(this); 
    QPixmap file(":/rose.jpg"); 
    QStackedWidget *temp = new QStackedWidget(); 
    QGraphicsScene scene; 
    QGraphicsView view(&scene); 
     QGraphicsPixmapItem img(file); 
     scene.addItem(&img); 
     temp->addWidget(&view); 
     setCentralWidget(view); 
} 

MainWindow::~MainWindow() 
{ 
    delete ui; 
} 
+1

(file.isNull())이 true를 반환하는지 확인하십시오 .. – Wagmare

+0

'.qrc' 파일과'.pro' 파일을 보여주십시오. –

답변

3

귀하의 QGraphicsViewQGraphicsScene 인스턴스 덕분에 그들은 때 MainWindow 생성자 범위 밖으로 파괴됩니다, 지역 변수입니다.

이렇게 해보십시오.

QGraphicsScene *scene = new QGraphicsScene(this); 
QGraphicsView *view = new QGraphicsView(scene); 

여전히 일을 does't 경우 QPixmap 파일이 null의 경우, 또는 그냥 무슨 말을 @Wagmare 같이 확인하시기 바랍니다.