我是 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/