代码之家  ›  专栏  ›  技术社区  ›  John

Qt QGraphicsView未显示场景

  •  2
  • John  · 技术社区  · 12 年前

    我是Qt的新手。我遇到了一个问题。我不想使用Qt表单来创建QGprahics视图,我只想对它进行编码,但我无法使它工作。

    这是我的代码:

    主要.cpp:

    #include "mainwindow.h"
    #include <QApplication>
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        MainWindow w;
        w.show();
    
        return a.exec();
    }
    

    主窗口.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的私有成员。

    程序只显示白色屏幕,但并没有椭圆。

    有什么建议吗?我做错了什么?提前谢谢!

    1 回复  |  直到 12 年前
        1
  •  4
  •   Johny    12 年前

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

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