0

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

这就是来源:

http://pastebin.com/s5Fu9dHJ

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

程序运行没有错误,但没有绘制“hello world”(并且没有为 istance QGraphicView 创建空白)。

我在哪里做错了?

4

1 回答 1

2

改变

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

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

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

不要忘记释放内存。

于 2012-08-16T19:39:52.010 回答