Qt QGraphicsView不显示场景

Posted

技术标签:

【中文标题】Qt QGraphicsView不显示场景【英文标题】:Qt QGraphicsView not showing the scene 【发布时间】:2013-09-25 07:42:45 【问题描述】:

我是 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();

主窗口.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】:

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

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

【讨论】:

以上是关于Qt QGraphicsView不显示场景的主要内容,如果未能解决你的问题,请参考以下文章

QStateMachine 如何在不同的 QState 中显示和隐藏 QGraphicsView 和 QObject

Qt 部署 - QGraphicsView 不显示在其他机器上

QGraphicsView与QGraphicsScene Qt窗体的消息传递

QGraphicsView 啥都不显示

Qt开发技术:图形视图框架场景QGraphicsSceneQGraphicsItem与QGraphicsView详解

在 QGraphicsView 中移动项目