Qt中的尺寸标注

时间:2014-11-24 10:07:14

标签: qt

我有graphicsView,其中在场景中绘制了不同的项目。我希望有一个尺寸选项,即尺寸。

有不同的项目,如线条,圆形,椭圆形,弧形,点,文字, 我希望当点击任意一个项目的两个点时,或者在场景的任何地方,它应该告诉我它的尺寸。

使用鼠标点击绘制项目。我可以获得帮助吗?

这些项目继承自QGraphicsItem,LineItem。

像:http://imgur.com/kBOjfmw

1 个答案:

答案 0 :(得分:1)

你可以使用这样的东西来获得以英寸为单位的长度:

qreal distance(QPointF & p1, QPointF & p2) {
    return QLineF(p1, p2).length() / QApplication::screens().at(0)->physicalDotsPerInch();
}

如果你想要厘米,乘以2.54。然后创建一个QGraphicsItem,它绘制两点之间的直线和带距离的文本。

您可以使用void QWidget::mousePress/Release/Event(QMouseEvent * event)并从event->pos()获取点击位置,并且在实际绘制尺寸时应映射到场景坐标。

如果你不想要实际的线条长度,而是你想要张贴的图像中的水平或垂直长度,你可以根据两个点x或y分量之间的绝对差值来计算。