【问题标题】:Text position scaling文本位置缩放
【发布时间】:2013-05-08 11:27:49
【问题描述】:

我现在使用QGraphicsViewQGraphicsScene 来显示一些图表。根据该图表的值(它们是直方图),我更改了比例。我还画了一些文本(它们来自QGraphicsItem)来显示它们的值

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

所以我的问题是如何在QGraphicsItemQGraphicsScene 中获得比例。

提前谢谢你。

【问题讨论】:

标签: c++ qt qgraphicsview qgraphicsitem qgraphicsscene


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    views() 实际上返回 QListQGraphicsViews。获取矩阵以获取比例(例如垂直)后,您可以这样做

    qreal verticalScale = matrix.m22();
    

    QGrapcsItem 中获得规模的区别只是

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

    其余的都是一样的。

    【讨论】:

      猜你喜欢
      • 2020-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-30
      • 2018-02-10
      • 2016-01-12
      • 1970-01-01
      相关资源
      最近更新 更多