• 10082阅读
  • 5回复

QGraphicsView绘图问题 [复制链接]

上一主题 下一主题
离线破烂石头
 
只看楼主 倒序阅读 楼主  发表于: 2008-08-07
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
    QGraphicsScene scene;
    scene.setSceneRect(0, 0, 800, 800);
    QGraphicsLineItem *line = new QGraphicsLineItem(0, 0, 500, 500);
    scene.addItem(line);
    QGraphicsView *view = new QGraphicsView(&scene);
上面这段代码,如果把view作为主窗体在main函数中显示出来,线会正常的画出来.
但一但有其它窗体作为主窗体,比如MainWindow,然后在其构造函数或其它函数中调用这这段代码,view可以显示出来,但线不会被画出来.(无论是作为单独的窗体还是作为MainWindow的CentralWidget都不会被画出来,看了sample里面的几乎完全一样的代码却正常

请问还有什么地方要注意的,谢谢了.
离线破烂石头
只看该作者 1楼 发表于: 2008-08-07
在线急等, 再次感谢了.....
离线破烂石头
只看该作者 2楼 发表于: 2008-08-07
没办法,到英文邮件列表中去问了
很愚蠢的问题
scene是局部变量,函数结束后被销毁了,应该用
QGraphicsScene *scene = new QGraphicsScene(this);
但问题是为什么main函数中这样用不会出问题.
离线xjcook

只看该作者 3楼 发表于: 2008-08-08
因为你那个main函数没有结束,这个函数是要到程序结束时结束的,所以那个临时变量没有删除,这样用就没有问题。
其他的函数调用完就结束了。
离线nmiirq

只看该作者 4楼 发表于: 2009-02-23
楼上正解!
离线ymym

只看该作者 5楼 发表于: 2014-02-24
为什么我按上述方法,还是没解决同样的问题呢
知识漫游
快速回复
限100 字节
 
上一个 下一个