Qt / C ++不将QGraphicview显示为QWidget

时间:2012-08-16 19:32:07

标签: c++ qt draw qgraphicsview qwidget

我的项目包括笛卡尔平面上几何图形之间的操作。我将包括一个必须在每次操作后更新的图形。

来源:

http://pastebin.com/s5Fu9dHJ

我创建了包装器“disegna”(:public QWidget)因为我发送所有内容作为单独的小部件显示(我有一个虚拟键盘的小部件,另一个用于Qlineedits等)我需要一个QWidget对象可以与view->一起使用addWidget(QWidget,int,int)因为我无法直接传递QMainWindow对象。

程序运行时没有错误,但没有绘制“hello world”(并且没有创建isfla QGraphicView的空格)。

我在哪里做错了?

1 个答案:

答案 0 :(得分:2)

更改

QGraphicsView view(&scene);
view.show();

QGraphicsView * view = new QGraphicsView(&scene);
view->show();

现在你的方式,QGraphicView的实例被分配在堆栈上并在disegna构造函数执行后立即销毁,这就是你无法看到的原因。

不要忘记释放记忆。