我现在正在使用QGraphicsView
和QGraphicsScene
来展示一些图表。根据图表的值(它们是直方图),我改变了比例。我还绘制了一些文本(它们来自QGraphicsItem
),用于显示像这样的值
但我不会像图表那样缩放文本,因此会带来问题。如果我不缩放文本,那么我得到它的边界矩形的真实坐标。我希望得到y轴的比例,以便在正确的位置绘制文本。
所以我的问题是如何在QGraphicsItem
或QGraphicsScene
中获得比例。
提前谢谢。
答案 0 :(得分:0)
如果您实现自己的缩放功能,那么在QGraphicsItem
中没有直接的缩放方式。您可以在QGraphicsView
(计算比例)中创建静态变量,用于获取它们的比例和静态函数。
答案 1 :(得分:0)
嗯,有一个解决方案。在QGraphicsScene
中,您可以像这样获得转换矩阵
QTransform matrix = views().at(0)->transform();
views()
实际上会返回QList
个QGraphicsView
个。在获得用于获得比例的矩阵(例如垂直)之后,您可以执行此操作
qreal verticalScale = matrix.m22();
QGrapcsItem
中获得比例的差异只是
QTransform matrix = scene()->views().at(0)->transform();
其余的都一样。