Название: Скролл и QGraphicsView Отправлено: nike1987 от Июнь 27, 2011, 13:20 Всем привет.
Имеется программка написанная с использованием шаблона MainWindow и QGraphicsView/QGraphicsScene. Мне необходимо сделать перерисовку itemов при скроллинге. Возможно ли каким-нить образом "ловить" скролл через QMainWindow или нужно унаследоваться от QGraphicsView и переопределять метод paintEvent? Или может есть ещё каки-нить варианты? Код
Название: Re: Скролл и QGraphicsView Отправлено: Ubuntu_linux от Июнь 30, 2011, 02:24 А зачем перерисовывать?
Название: Re: Скролл и QGraphicsView Отправлено: nike1987 от Июль 14, 2011, 16:16 Задача такая, необходимо чтобы по краям рисовались координаты сетки.
Попробовал унаследоваться от QGraphicsView и переопределить метод paintEvent, но почему-то получаю белый экран, если делаю аналогичную рисовку в конструткоре унаследованного класса, то всё нормально рисуется.Не могу понять в чё может быть проблема?? Код
Название: Re: Скролл и QGraphicsView Отправлено: GreatSnake от Июль 15, 2011, 11:14 Код
Цитировать Задача такая, необходимо чтобы по краям рисовались координаты сетки. Судя по коду сетка рисуется никак не по краям)Для координатной сетки нужно перегружать для отрисовки под элементами: Код для отрисовки поверх элементов: Код
Название: Re: Скролл и QGraphicsView Отправлено: nike1987 от Июль 15, 2011, 11:56 Цитировать Судя по коду сетка рисуется никак не по краям) Сама сетка у меня рисуется на всю сцену, а координаты сетки по краям вьювера должны рисоваться.В данном случае у меня простейший пример рисований линий, который почему-то не рисуется при переопределении paintEvent.Для координатной сетки нужно перегружать для отрисовки поверх всех элементов: Цитировать Мде, при каждой отрисовке будет создано 6400/256*2 QGraphicsLineItem's. Прост мне необходимо чтобы при масштабировании сетка менялась, т.е. при увеличении масштаба частота сетки увеличивалась, а при уменьшении масштаба соотвественно уменьшалось.А по поводу drawBackground и drawForeground в чём их преимущество перед paintEvent? Название: Re: Скролл и QGraphicsView Отправлено: GreatSnake от Июль 15, 2011, 12:40 Цитата: nike1987 А по поводу drawBackground и drawForeground в чём их преимущество перед paintEvent? Хм, такой вопрос может задать только тот, кто совершенно не вник в суть QGraphics.Откуда вам пришла такая "умная" мысль, что стоит перегружать QGraphicsView::paintEvent() ??? Ведь именно в нём делается отрисовка элементов сцены. Причём в таком порядке: drawBackground() drawItems() drawForeground() Название: Re: Скролл и QGraphicsView Отправлено: nike1987 от Июль 20, 2011, 14:21 Цитировать Хм, такой вопрос может задать только тот, кто совершенно не вник в суть QGraphics. Само собой, иначе бы я вопросы не спрашивал.Честно говоря возник вопрос с перемещением itemов во время скроллинга.При работе скроллинга заметно отчётливые моргания перерисовки itemов(в моём случае текста).Может кто сталкивался с похожей проблемой? |