0

我现在使用QGraphicsViewandQGraphicsScene来显示一些图表。根据该图表的值(它们是直方图),我更改了比例。我还绘制了一些文本(它们源自QGraphicsItem)以显示它们的值,如下所示

在此处输入图像描述

但是我不会像图表那样缩放文本,所以它带来了一个问题。如果我不缩放文本,那么我会得到它的边界 rect 的真实坐标。我想获得 y 轴的比例以在正确的位置绘制文本。

所以我的问题是如何将比例尺放入QGraphicsItem或放入QGraphicsScene.

先感谢您。

4

2 回答 2

0

如果您实现自己的缩放功能,那么就没有直接的方法来获取QGraphicsItem. 您可以在QGraphicsView(计算比例的地方)为比例和获取它们的静态函数创建一个静态变量。

于 2013-05-11T13:30:07.070 回答
0

好吧,有一个解决方案。在QGraphicsScene你可以得到这样的转换矩阵

QTransform matrix = views().at(0)->transform();

views()实际上返回一个QLists QGraphicsView。获取矩阵以获取比例(例如垂直)后,您可以执行此操作

qreal verticalScale = matrix.m22();

扩大规模的区别QGrapcsItem只是

QTransform matrix = scene()->views().at(0)->transform();

其余的都是一样的。

于 2013-05-28T14:36:43.000 回答