文本位置缩放
Posted
技术标签:
【中文标题】文本位置缩放【英文标题】:Text position scaling 【发布时间】:2013-05-08 11:27:49 【问题描述】:我现在使用QGraphicsView
和QGraphicsScene
来显示一些图表。根据该图表的值(它们是直方图),我更改了比例。我还画了一些文本(它们来自QGraphicsItem
)来显示它们的值
但我不会像图表那样缩放文本,所以会带来问题。如果我不缩放文本,那么我会得到它的边界 rect 的真实坐标。我想获得 y 轴的比例以在正确的位置绘制文本。
所以我的问题是如何在QGraphicsItem
或QGraphicsScene
中获得比例。
提前谢谢你。
【问题讨论】:
qt-project.org/doc/qt-4.8/qgraphicsitem.html#scale ? 不,我试过了。这行不通。 【参考方案1】:如果您实现自己的缩放功能,那么在QGraphicsItem
中没有直接获取缩放的方法。您可以在QGraphicsView
(计算比例的地方)中创建一个静态变量来获取比例和获取它们的静态函数。
【讨论】:
【参考方案2】:嗯,有一个解决方案。在QGraphicsScene
你可以得到这样的变换矩阵
QTransform matrix = views().at(0)->transform();
views()
实际上返回 QList
的 QGraphicsView
s。获取矩阵以获取比例(例如垂直)后,您可以这样做
qreal verticalScale = matrix.m22();
在QGrapcsItem
中获得规模的区别只是
QTransform matrix = scene()->views().at(0)->transform();
其余的都是一样的。
【讨论】:
以上是关于文本位置缩放的主要内容,如果未能解决你的问题,请参考以下文章