C++ 文本位置缩放

C++ 文本位置缩放,c++,qt,qgraphicsview,qgraphicsitem,qgraphicsscene,C++,Qt,Qgraphicsview,Qgraphicsitem,Qgraphicsscene,我现在使用QGraphicsView和qgraphicscene来显示一些图表。根据图表的值(它们是直方图),我改变了比例。我还绘制了一些文本(它们来自QGraphicsItem)来显示它们的值 但我不会像图表那样缩放文本,所以这会带来一个问题。如果我不缩放文本,我得到它的边界矩形的真实坐标。我想得到y轴的比例,以便在正确的位置绘制文本 因此,我的问题是如何在QGraphicsItem或qgraphicscene中获得刻度 提前感谢。如果您实现了自己的缩放功能,那么在QGraphicsItem

我现在使用
QGraphicsView
qgraphicscene
来显示一些图表。根据图表的值(它们是直方图),我改变了比例。我还绘制了一些文本(它们来自
QGraphicsItem
)来显示它们的值

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

因此,我的问题是如何在
QGraphicsItem
qgraphicscene
中获得刻度


提前感谢。

如果您实现了自己的缩放功能,那么在
QGraphicsItem
中就没有直接的方式来获得缩放。您可以在
QGraphicsView
(计算比例)中创建静态变量,以获取比例和静态函数。

好吧,有一个解决方案。在
qgraphicscene
中,可以得到这样的变换矩阵

QTransform matrix = views().at(0)->transform();
views()
实际上返回
QGraphicsView
s的
QList
。在获得矩阵以获得比例(例如垂直)后,可以执行此操作

qreal verticalScale = matrix.m22();
qgraphcsitem
中获取比例的区别仅限于

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

其余的都一样。

?不,我试过了。那不行。