Qt -使用QTransform(或类似的),缩放内部QRect到/从QGraphics

Qt - Using a QTransform (or similar), scale inner QRect to/from QGraphics

本文关键字:内部 缩放 QRect QGraphics QTransform 使用 Qt      更新时间:2023-10-16

一些背景假设你有QGraphicsScene,并且只有一个视图,它与场景的比例为1-1。你有一个QRect a,它代表场景的外部视图,具有预定义的像素大小。你有一个QRect A1它是a里面的一个较小的rect

如何将A1转换为场景,使其正确缩放(即,如果它是矩形A的1/4,它将占据场景的1/4),然后撤消该转换以缩放场景中创建的矩形以正确适应矩形A ?

我可以做所有这些蛮力,但我想知道是否有一种方法使用Qt的内置类…

在查看了一些示例以尝试找到类似的用途后,我意识到我完全错过了这一点-我可以直接将A/A1设置为场景,并缩放视图(通过完全明显但不知怎么完全被忽视的QGraphicsView::fitInView(..))以适合里面的矩形。不需要直接变换。完全的"废话"时刻。:)

当与视图交互时,我需要转换鼠标点击和视图中的点,但是有一套完整的mapTo* mapFrom*可以很好地处理这个问题。

使用fitInView()