gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 11:33:30 28 4
gpt4 key购买 nike

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

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

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

最佳答案

在查看了一些示例以尝试找到类似的用途之后,我意识到我完全忽略了重点 - 我可以直接将 A/A1 设置为场景,然后缩放 View (通过直到现在 QGraphicsView::fitInView(..)) 完全显而易见但不知何故完全被忽视,以适应里面的矩形。不需要矩形变换。总的'duh'时刻。 :)

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

TL;DR - 使用 fitInView()

关于c++ - Qt - 使用 QTransform(或类似的),缩放内部 QRect 到/从 QGraphics,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23698940/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com