在刚刚出差的时候完成了一个测量尺的制作,中间得到了mo学长的大力帮助,非常感谢。做的过程中主要是对这三个类的使用,这里写一点感想。
使用这三个类是因为他们支持控件的旋转,之前网上查了很多资料都没有这方面的资料,只好自己做。最后成功了,但是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,否则运行结果不会显示。