QGraphicsView 框架学习(五) 边框与控制点
选择控制以前已经实现了,为矩形对象默认添加了8个控制点,可以通过鼠标移动控制点,调整图形的大小。多边形,直线,曲线等没有提供这8个控制点,而是直接将每个输入点当做控制点,实际上也应该给它加一个边框。
这两天看了一下著名的inkspace,它提供了一个SelTrans对象来对图元进行缩放,拉伸,旋转,扭曲等操作;还提供了 control_point对象,来控制图元path,改变图元形态。
感觉设计很巧妙,根据用户选择工具不同,提供不同的控制状态,操作相当方便。不过代码不好读,需要费些功夫。sf上有人把它整合到一个SCADA系统里了,用它做HMI,真的是很高大上啊,不知道人家是怎么做到的,真的很羡慕啊,可惜这个SCAD不开源,而且不便宜。还是自己好好研究一下吧。