2

我是 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;
}

view 和 scene 是 MainWindow 类的私有成员。

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

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

4

1 回答 1

4

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

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

于 2013-09-25T08:09:30.443 回答