Масштабирование положения текста

Я сейчас использую QGraphicsView а также QGraphicsScene для показа некоторых графиков. В зависимости от значений этих графиков (они являются гистограммами) я меняю масштаб. Я также рисую некоторый текст (они получены из QGraphicsItem) для показа их значений, как это

введите описание изображения здесь

Но я не масштабирую тексты, такие как диаграммы, так что это приводит к проблеме. Если я не масштабирую тексты, я получаю реальные координаты прямоугольника. Я хочу получить масштаб оси Y для рисования текстов в правильных положениях.

Итак, мой вопрос, как я могу получить шкалу в QGraphicsItem или в QGraphicsScene,

Заранее спасибо.

0

Решение

Если вы реализуете свою собственную функцию для масштабирования, то нет прямого способа получить масштаб в QGraphicsItem, Вы можете сделать статические переменные в QGraphicsView (где вы считаете масштаб) для весов и статических функций для их получения.

0

Другие решения

Ну, есть решение для этого. В QGraphicsScene вы можете получить матрицу преобразования, как это

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

views() на самом деле возвращает QList из QGraphicsViews. После получения матрицы для получения масштаба (например, вертикальной) вы можете сделать это

qreal verticalScale = matrix.m22();

Разница в получении масштаба в QGrapcsItem просто

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

А в остальном то же самое.

0

По вопросам рекламы [email protected]