Название: Как лучше отобразить сетку на QGraphicsScene? Отправлено: Fregloin от Август 31, 2011, 15:58 Нужно в режиме редактирования рисовать сетку на сцене, поверх которой будут размещаться элементы и выравниваться по ней.
Как сделать грамотно сетку, я делал так Код:
x_step,y_step - шаг сетки. Пробовал сначала в drawBackground - но уж очень тормозит при скролле и скалинге. Название: Re: Как лучше отобразить сетку на QGraphicsScene? Отправлено: GreatSnake от Август 31, 2011, 16:03 Пробовал сначала в drawBackground - но уж очень тормозит при скролле и скалинге. Странно. Не должно быть тормозов, если правильно делать.Название: Re: Как лучше отобразить сетку на QGraphicsScene? Отправлено: Fregloin от Август 31, 2011, 17:51 я там делал как, рисовал один раз в пиксмап, а потом отображал его в drawBackground.
ибо я подозреваю что рисовать динамически сетку будет накалдно при частых операциях на сцене Название: Re: Как лучше отобразить сетку на QGraphicsScene? Отправлено: Fregloin от Август 31, 2011, 17:52 да и при скалинге идут искажения
Название: Re: Как лучше отобразить сетку на QGraphicsScene? Отправлено: GreatSnake от Август 31, 2011, 17:57 я там делал как, рисовал один раз в пиксмап, а потом отображал его в drawBackground. Ну дык...Цитировать ибо я подозреваю что рисовать динамически сетку будет накалдно при частых операциях на сцене С чего это? А создавать QGraphicsLineItem's не накладно ???В QGraphicsView::drawBackground( QPainter* painter, const QRectF& rect ) рисовать нужно только в границах rect. Название: Re: Как лучше отобразить сетку на QGraphicsScene? Отправлено: Fregloin от Сентябрь 01, 2011, 08:54 я знаю что в границах rect, но во первых как корректно рисовать сетку в этой границе?
во вторых при перемещении элемента возникают артефакты, как будто сетка немного сдвигается в месте перемещения. поэтому перешёл на вышеописанный способ. Название: Re: Как лучше отобразить сетку на QGraphicsScene? Отправлено: _OLEGator_ от Сентябрь 01, 2011, 10:46 артефакты видимо из-за минимальности перерисовки, флаг QGraphicsView::MinimalViewportUpdate.
попробуйте поэкспериментировать, либо сразу указать полное обновление вьювера: Код
Название: Re: Как лучше отобразить сетку на QGraphicsScene? Отправлено: Fregloin от Сентябрь 01, 2011, 21:20 по умолчанию стоит smartupdate, так как на fullupdate наблюдаются нешуточные тормоза (да и объектов много, плюс размер сцены 3840*1080 - на два 32 монитора). поэтому остановился на своем "велосипеде" - по крайней мере не тормозит и скалится нормально. в идеале хотелось бы еще выводить линейки как visio, но думаю пока не стоит на этом заморачивыаться
Название: Re: Как лучше отобразить сетку на QGraphicsScene? Отправлено: Fregloin от Апрель 12, 2012, 16:50 есть еще решения?
Название: Re: Как лучше отобразить сетку на QGraphicsScene? Отправлено: GreatSnake от Апрель 12, 2012, 16:58 есть еще решения? Тебе же дали ответ здесь (http://www.prog.org.ru/index.php?topic=19275.msg130093#msg130093). |