Название: QGraphicsScene неподвижный текст Отправлено: FakeMoNEy от Август 23, 2014, 21:05 Здравствуйте. Есть QGraphicsView->QGraphicsScene на сцене хочу создать QGraphicsItem с текстом, но неподвижным, при прокрутке и масштабировании сцены. Пересчитываю координаты в итеме при отрисовке в 0,0 относительно QGraphicsView. При прокрутке сцены текст уезжает. Пробовал сделать boudingRect() во всю сцену, текст стоит но это не выход. А масштабирование победить не получилось при вызове QGraphicsView::scale() текст масштабируется. Подскажите как сделать правильно.
Название: Re: QGraphicsScene неподвижный текст Отправлено: Nidxogg от Август 23, 2014, 21:58 . А масштабирование победить не получилось при вызове QGraphicsView::scale() текст масштабируется. Попробуй флаг QGraphicsItem::ItemIgnoresTransformationsНазвание: Re: QGraphicsScene неподвижный текст Отправлено: FakeMoNEy от Август 24, 2014, 01:45 . А масштабирование победить не получилось при вызове QGraphicsView::scale() текст масштабируется. Попробуй флаг QGraphicsItem::ItemIgnoresTransformationsНазвание: Re: QGraphicsScene неподвижный текст Отправлено: Nidxogg от Август 24, 2014, 20:41 Цитировать Спасибо! А не подскажете как сделать чтобы при прокрутке сцены итем оставался на экране в одном месте? Попробуй посмотреть группу методов mapTo/mapFrom у QGraphicsView и перемещать item на сцене в точки, соответствующей одной и той же точке на view.Другого способа не знаю, хотя чувствую что это костыль какой-то Название: Re: QGraphicsScene неподвижный текст Отправлено: _OLEGator_ от Август 24, 2014, 22:06 Для таких целей лучше использовать
Код
Название: Re: QGraphicsScene неподвижный текст Отправлено: FakeMoNEy от Август 25, 2014, 02:18 Для таких целей лучше использовать Спасибо. Про них я забыл, но если данные для QGraphicsView::drawForeground() извлекаются из итемов, View создан только для отображения. Это будет нормально связать View и Item?Код
Название: Re: QGraphicsScene неподвижный текст Отправлено: _OLEGator_ от Август 25, 2014, 11:25 Что?
Если какой-то элемент сцены должен постоянно находиться в одном месте во вью и не меняться при изменении масштаба - надо просто рисовать ручками его в drawForeground, т.е. эту уже не item или по крайней мере он не должен находиться в сцене. Либо рисуй все ручками, либо создай item не принадлежащий сцене и отрисовывай его с помощью Код
|