• 1672阅读
  • 1回复

[讨论]QGraphicsView缩放后显示区域在原区域的坐标该如何计算? [复制链接]

上一主题 下一主题
离线热带冰川
 

只看楼主 倒序阅读 楼主  发表于: 2020-09-16
        在工作中遇到的问题,考虑用户使用便利性,参考图片查看器的功能,在主体显示区使用QGraphicsView显示图像,用鼠标左键可以拖拽画面,用鼠标滚轮可以缩放,在预览区显示整个画面,并用红色方框标示主体显示区所显示的区域,如下图所示。
        现在的问题是,预览区的红色方框与主体显示区的显示区域还没有关联起来,如果我能够知道显示区域在原区域的坐标值,那就很方便,请问各位大神们有没有什么好办法呢?

  

         附上源码链接:https://gitee.com/HelloWorldApple/QGraphicsView-example.git
离线272064949

只看该作者 1楼 发表于: 2020-09-18


我是这样做的, 用一个scrollArea来当容器, 只要里面的widget比scrollArea大,就会显示滚动条, 在widget上放置大图,
预览图是自己定义的了一类继承自qwidget, 自己来绘制预览图和红色的矩形框体

然后用信号监听scrollArea的滚动条事件,然后拿到滚动条的值后,通过计算得出矩形框体的位置和大小。






快速回复
限100 字节
 
上一个 下一个