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->setSceneRect(600,480,600,480);
。
您的椭圆是在视图之外创建的。
【讨论】:
以上是关于Qt QGraphicsView不显示场景的主要内容,如果未能解决你的问题,请参考以下文章
QStateMachine 如何在不同的 QState 中显示和隐藏 QGraphicsView 和 QObject
Qt 部署 - QGraphicsView 不显示在其他机器上
QGraphicsView与QGraphicsScene Qt窗体的消息传递