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();
其余的都一样。?不,我试过了。那不行。