1

一些背景 - 假设您有 QGraphicsScene,并且只有一个视图,它与场景的比例为 1-1。您有一个 QRect A,它表示场景的外部视图,具有预定义的像素大小。你有一个 QRect A1,它是 A 内部的一个较小的矩形。

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

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

4

1 回答 1

1

在查看了一些示例以尝试找到类似的用途后,我意识到我完全错过了这一点 - 我可以直接将 A/A1 设置到场景中,并缩放视图(通过完全明显但不知何故完全被忽视的 QGraphicsView ::fitInView(..)) 以适应内部的矩形。无需进行矩形变换。总“呃”的时刻。:)

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

TL;DR - 使用 fitInView()

于 2014-05-16T16:36:14.900 回答