现在的位置: 首页 > 综合 > 正文

QGraphics的使用方法概述

2013年10月01日 ⁄ 综合 ⁄ 共 718字 ⁄ 字号 评论关闭
为什么不清楚,总之是要QGraphicsScene scene声明成非指针形式,而且一定要在*.h声明,然后用ui->graphicsView->setScene(&myrice);
ui->graphicsView->show();然后就OK,这这,不知道原因! 

  使用这三个类是因为他们支持控件的旋转,之前网上查了很多资料都没有这方面的资料,只好自己做。最后成功了,但是Qt4.7对于这三个类的优化比较好,Qt4.6则会出现很多显示错误,请问有没有什么办法修改可以使得Qt4.6使用Qt4.7的类?

    这三个类的使用很简单,主要的想法和步骤如下:

    1. 在.h文件中声明一个scene,留待后用。

    2. 在ui中添加一个QGraphicsView,可以从左侧列表拉,自己写代码也可以。

    3. 如果想要显示QGrahicsView遮盖的部分(因为是测量尺,所以必须显示),讲QGraphicsView设置为透明,方法前文有提到。不过注意!Qt4.7用该方法透明化不行,4.6可以,尚不明原因。

    4. 设置scene的大小(setSceneRect)并在scene中添加控件或者线,如果想要添加线的话最好使用QGraphicsLineItem,用法很简单,相比addLine,更便于控制线的移动和旋转。

    5. 在graphicsview中调用setscene。view.rotate(double angle);

    注意点:

    如果不用setSceneRect规定scene的大小,则添加到scene的东西会默认显示在中心,且scene的大小就是添加的东西的最小和。

    一定要在h中声明一个scene,否则运行结果不会显示。

抱歉!评论已关闭.