Qt QGraphicsView 不显示场景

标签 qt qgraphicsview

我是 Qt 新手。我遇到问题了。我不想使用 Qt 表单创建 QGprahics View ,我只想对其进行编码,但无法使其工作。

这是我的代码:

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

View 和场景是 MainWindow 类的私有(private)成员。

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

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

最佳答案

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

您的椭圆是在 View 之外创建的。

关于Qt QGraphicsView 不显示场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18999046/

相关文章:

qt - 如何获取tableView中某个值的索引?

qt - 在 ubuntu 服务器上静默安装 Qt 运行安装程序

python - 如何将 QGraphicsView 缩放恢复到 100%,即程序启动时的缩放?

c++ - 在单击+拖动时禁用 QListWidget 中的自动选择项目

qt - 将 Google Test 与 QNetworkAccessManager 一起使用永远不会发出完成的信号

c++ - QT-Dbus 信号/插槽?

c++ - 使用 glClearColor 初始化 QGLWidget

qt - 在 qgraphicsview 中自由手绘

Qt 可编辑 QGraphicsTextItem 验证文本并在更改时发出信号

c++ - 如何通过QGraphicsProxy调整QGraphicScene中添加的QWidget的大小?