Qt QGraphicsView没有显示场景

时间:2013-09-25 07:42:46

标签: qt qgraphicsview

我是Qt的新手。我遇到了问题。我不想使用Qt表单创建QGprahics视图我只想编写代码而我无法使其工作。

这是我的代码:

main.cpp中:

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}

mainwindow.cpp

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    scene = new QGraphicsScene(this);
    scene->setSceneRect(600,480,600,480);

    QGraphicsEllipseItem * ellipse;
    QPen pen(Qt::red);
    QBrush brush(Qt::blue);

    ellipse = scene->addEllipse(150,150,100,100,pen, brush);

    view = new QGraphicsView(scene,this);

    setCentralWidget(view);

}

MainWindow::~MainWindow()
{
    delete view;
    delete scene;
}

视图和场景是MainWindow类的privete成员。

程序只显示白屏,但那里没有椭圆。

任何建议我做错了什么?提前谢谢!

1 个答案:

答案 0 :(得分:4)

我认为你的问题是scene->setSceneRect(600,480,600,480);

您的椭圆是在视图之外创建的。