QtransForm 旋转中什么时候将旋转其他坐标信息添加到map中
时间: 2023-07-16 15:15:01 浏览: 92
QTransform 旋转操作不会自动将旋转后的其他坐标信息添加到 map 中,需要手动添加。在执行旋转操作之前,可以先将需要旋转的坐标信息保存到一个 QMap 对象中,然后在旋转操作完成后,再将旋转后的坐标信息添加到 QMap 对象中。具体实现可以参考如下代码示例:
```cpp
// 创建一个 QTransform 对象
QTransform transform;
// 将需要旋转的坐标信息保存到 QMap 对象中
QMap<QString, QPointF> coords;
coords.insert("point1", QPointF(10, 10));
coords.insert("point2", QPointF(20, 20));
coords.insert("point3", QPointF(30, 30));
// 执行旋转操作
transform.rotate(45);
// 将旋转后的坐标信息添加到 QMap 对象中
for (auto it = coords.begin(); it != coords.end(); ++it) {
it.value() = transform.map(it.value());
}
// 输出旋转后的坐标信息
for (auto it = coords.begin(); it != coords.end(); ++it) {
qDebug() << it.key() << ": " << it.value();
}
```
在上面的代码示例中,首先创建了一个 QTransform 对象,然后将需要旋转的坐标信息保存到 QMap 对象中。执行旋转操作后,使用 map() 函数将旋转后的坐标信息添加到 QMap 对象中。最后,输出旋转后的坐标信息。
阅读全文