礼品公司网站源码,深圳网站建设定制开发 .超凡科技,windows server2012 wordpress,c2c电子商务的网站为了更清晰地解释场景坐标与局部坐标之间的转换过程#xff0c;我们可以通过一个简单的实例来演示如何赋值场景坐标#xff0c;并将其转换为图形项的局部坐标。
实例步骤
假设我们有一个场景 QGraphicsScene 和一个矩形图形项 QGraphicsRectItem#xff0c;矩形的大小为 1…为了更清晰地解释场景坐标与局部坐标之间的转换过程我们可以通过一个简单的实例来演示如何赋值场景坐标并将其转换为图形项的局部坐标。
实例步骤
假设我们有一个场景 QGraphicsScene 和一个矩形图形项 QGraphicsRectItem矩形的大小为 100x100位置在场景中的 (200, 200) 点。我们想将场景坐标 (250, 250) 转换为这个矩形图形项的局部坐标此局部坐标再转回场景坐标。 #include QApplication
#include QGraphicsScene
#include QGraphicsView
#include QGraphicsRectItem
#include QPointF
#include QDebugint main(int argc, char* argv[])
{QApplication a(argc, argv);// 创建场景QGraphicsScene scene;// 创建一个矩形图形项并设置其位置QGraphicsRectItem* rectItem new QGraphicsRectItem(0, 0, 100, 100); // 矩形大小 100x100左上角坐标 (0, 0)rectItem-setPos(200, 200); // 将矩形的位置设为场景中的 (200, 200)scene.addItem(rectItem); // 将矩形添加到场景中// 创建视图并展示场景QGraphicsView view(scene);view.show();// 定义一个场景坐标 (250, 250)QPointF scenePoint(250, 250);// 场景坐标 - 矩形图形项的局部坐标QPointF localPoint rectItem-mapFromScene(scenePoint);// 矩形图形项的局部坐标 - 场景坐标QPointF newScenePoint rectItem-mapToScene(localPoint);// 输出转换后的局部坐标qDebug() Scene Point: scenePoint; // 输出: (250, 250)qDebug() Local Point in RectItem: localPoint; // 输出: (50, 50)qDebug() New scene point in scene: newScenePoint; // 输出: (250, 250)return a.exec();
} 补充
QPointF local_pt mapFromParent(pt); 此方法可以从父项的坐标系转换到当前图形项GraphicsRectItem的本地坐标系中。