一、背景
Halcon软件中的窗口可以实现图片的精准缩放和拖拽,特别的一点可以将图片缩放到窗口以外,所以在思考QT如何实现。
二、实现方式
方式上选择模型/视图模型,QGraphicsView,其中图片在哪个环节加载困扰了我一段时间。比如QGraphicsView和QGraphicsScene,视口和场景都可以显示图片。场景加载有个问题,当场景小于视口尺寸时则会居中显示,不符合想要的效果。最终选择了QGraphicsItem去显示图片。
其实Qt提供了继承自QGraphicsItem 的子类:QGraphicsPixmapItem,专门用于显示图片,所以最佳的方案是使用QGraphicsPixmapItem。
三、最终效果
四、注意事项
在实现缩放QGraphicsPixmapItem时注意选择合适的方式,最开始选择setScale,然后去实现聚焦到鼠标正下方总是达不到想要的效果,现在想来应该是计算坐标偏移时没有乘上缩放因子。
&nb