我在Qt GUI C ++项目上工作。我尝试显示资源文件中的图像,还有更多要求,如播放幻灯片照片。 我在调试时遇到困难,它只是显示白屏。我以为图像没有加载到GraphicsView。在main.cpp和mainwindow.ui中,我将它们保持为默认值,不进行编辑。 所以请帮我解决这个问题。提前致谢
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;
}
答案 0 :(得分:3)
您的QGraphicsView
和QGraphicsScene
实例是局部变量,它们将在MainWindow
构造函数范围之外被销毁。
请这样试试。
QGraphicsScene *scene = new QGraphicsScene(this);
QGraphicsView *view = new QGraphicsView(scene);
如果它仍然不起作用,请检查您的QPixmap
文件是否为空或不像@Wagmare所说的那样。