- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下代码:
QGraphicsScene* pScene = new QGraphicsScene(this);
ui->graphicsView->setScene(pScene);
pScene->addRect(0, 0, 200, 200);
QGraphicsRectItem* pRect1 = pScene->addRect(40, 40, 100, 100);
QGraphicsRectItem* pRect2 = new QGraphicsRectItem(20, 20, 19, 19, pRect1);
QPointF pf1 = pRect1->pos();
QPointF pf2 = pRect2->pos();
QPointF pf3 = pRect2->mapFromParent(pRect1->pos());
QPointF pf4 = pRect2->mapToParent(pRect2->pos());
QPointF spf1 = pRect1->scenePos();
QPointF spf2 = pRect2->scenePos();
没什么特别的,只是一个带有 QGraphicsScene 和一些 QGraphicsRectItem 的 QGraphicsView。问题:为什么所有的点(pf1、pf2、pf3、pf4甚至spf1、spf2)执行后都等于QPointF(0.0, 0.0)?
我正在使用 Qt 5.4.1。
根据我的理解,spf1 必须是 QPointF(40.0, 40.0),spf2 必须是 QPointF(20.0, 20.0)。
最佳答案
如果您查看文档,您会发现:
QGraphicsRectItem *QGraphicsScene::addRect(const QRectF &rect, const QPen &pen = QPen(), const QBrush &brush = QBrush())
Creates and adds a rectangle item to the scene, and returns the item pointer. The geometry of the rectangle is defined by rect, and its pen and brush are initialized to pen and brush. Note that the item's geometry is provided in item coordinates, and its position is initialized to (0, 0). For example, if a QRect(50, 50, 100, 100) is added, its top-left corner will be at (50, 50) relative to the origin in the items coordinate system
.因此,Item 的坐标为 (0,0),但您可以将其设置为:
pRect1->setPos(QPoint(30,30));
看看会发生什么。希望对大家理解QGraphicsScene坐标系有所帮助!
附言:
QGraphicsRectItem* pRect1 = pScene->addRect(0, 0, 100, 100);
QGraphicsRectItem* pRect2 = pScene->addRect(0, 0, 20, 20);
pRect1->setPos(QPoint(40,40));
pRect2->setPos(QPoint(20,20));
关于c++ - 理解QT的图形 View 坐标系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34403745/
我一直在试图弄清楚小部件的坐标是如何到达的。例如在 qt 文档中,我想知道这是如何完成的。 QGridLayout *layout = new QGridLayout; layout->ad
我正在尝试在 libGDX 中正确配置我的 Camera 和 Sprite,以正确显示在 2D 坐标系中,原点位于左下角。 我像这样设置我的相机: cameraWidth = Gdx.graphics
我最近查看了 App Store 中提供的 Swift Playgrounds 应用程序,在那里我偶然发现了这个交互式坐标系 View ,类似于可以在 Mac 上的 Xcode playgrounds
我知道 Posit 会计算相机和 3d 对象之间的平移和旋转。我现在唯一的问题是,我不知道相机和物体的坐标系是如何定义的。因此,例如,如果我绕 z 轴旋转 90°,z 轴指向哪个方向,物体是绕这个轴旋
我想完成以下事情。我有一组PDF文件,首先我想检查坐标系的原点。如果 pdf 坐标系的原点不是左上角 [通常原点在左下角],我想创建一个坐标在左上角的结果 PDF。我正在尝试使用 PDFBox [下面
我有来自 AVAsset 的 CVPixelBufferRef。我正在尝试对其应用 CIFilter。我使用这些行: CVPixelBufferRef pixelBuffer = ... CVPixe
我很难理解 OpenLayers 使用的坐标系。 英国莱斯特大约在。 Latitude: 52.63973017532399 Longitude: -1.142578125 但要使用 OpenLay
我刚开始iOS绘图编程,发现坐标系和Mac OS X不同,基本上iOS上的原点在左上角,而不是像Mac上的左下角。只是想知道是否有人知道 Apple 为何做出此更改,以及 Mac 的 future 也
我想更改 PDF 坐标系以更改原点 (0,0) -> 从左下角到左上角。因此,例如,当我在 x=5 y=10 的位置书写文本时,它将以从左数起 10 点和从上数(而不是从下数)开始的 10 点书写。
我有以下代码: QGraphicsScene* pScene = new QGraphicsScene(this); ui->graphicsView->setScene(pScene); pScen
我目前正在尝试实现一个基于室内地图的 AR 浏览器,但我面临几个问题,让我们看一下图: 在这个图中,我已经将坐标更改为OpenGL的右手坐标系。 在我们的真实场景中, 给定角度 FOV/2 和相机高度
我正在尝试在 ios 中构建自定义 warp 内核。 我有这个内核代码 var kernelCode = " kernel vec2 partialFlip(vec2 center,
我在我的旧手机 (Samsung Galaxy Ace) 上测试我的“游戏”,我把它给了我妈妈,所以我现在使用的是平板电脑 (Samsung GT-P7300),但我在当我触摸屏幕时的坐标。我在 An
我正在开发一个网络应用程序,它包括一个我绘制函数图形的部分,坐标系是由 Canvas 制作的。问题是,我无法放大坐标系。我想让它能够放大和缩小+使用鼠标移动坐标系。放大/缩小时,x 和 y 值也应该增
我的问题类似于Changing sensor coordinate system in android 无论设备方向如何,我都希望能够相互比较用户的 Action 。因此,当用户以纵向握住手机并弯曲
我正在尝试使用 stereoRectify。我没有使用 stereoCalibrate 校准我的相机,而是已经有了一些信息,我将使用这些信息来创建相机矩阵,这些矩阵是 stereoRectify 的输
我在矩阵中有一个对象的足迹,简而言之,对象占用了哪些单元格(对象是一个部分,标记为 0 的单元格未被占用,标记为 1 的单元格被对象占用)。然后,我在 list > 中有一个已占用单元格的列表。与矩阵
我是 Canvas 的新手,想知道: 使用倒笛卡尔坐标系的基本原理。 比如说,我需要在直方图中绘制一些值。是一种将 Canvas 框架旋转/映射到笛卡尔坐标系的简单方法。? 最佳答案 Canvas 是
通读 SVG 1.1 specification ,我试图了解用于定义初始视口(viewport)的单位与文档其余部分使用的单位之间的关系。 如果视口(viewport)最初是使用点定义的 并且文档
好的,所以我找到了这个 thread ,这是我认为我需要做的。但是,我使用的不是 GL10,而是 GLES20。 glOrthof 不是 GLES20 API 的一部分。 我想做的是改变坐标系的范围,
我是一名优秀的程序员,十分优秀!