Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Система рисования. Печать _ Организация рисования

Автор: denmor86 9.6.2011, 10:34

Как правильно организовать рисование графика и различных точек на нём?
Т.е нужно нарисовать оси и рисовать точки согласно осям, оси должны меняться при появлении точки вне границ оси.
Правильно ли делать это всё в paintEvent?
Мне кажется что от этого пострадает быстродействие программы, так как точек может быть
очень большое кол-во....

Автор: Алексей1153 9.6.2011, 11:39

много точек не надо, их же можно линиями соединять. Дискретность выбирать в зависимости от масштаба. Рисовать часто тоже не надо, только по вызову paintEvent

Автор: denmor86 9.6.2011, 11:51

График у меня будет именно из точек(или других объектов) разного цвета. Приходят на рисование они раз в 45 мсек, кол-во их не ограничено, так как время работы программы может быть более 2-3 суток. Соответственно необходимо продумать что то вроде кольцевого буфера...

Автор: Litkevich Yuriy 9.6.2011, 18:02

Цитата(denmor86 @ 9.6.2011, 13:34) *
Правильно ли делать это всё в paintEvent?
само рисование только в нём. Но многое можно кэшировать (в первую очередь статическую информацию). Т.е. рисовать на QPixmap/QImage часть информации, а затем в paintEvent рисовать на виджете сам QPixmap/QImage и поверхнего что-нибудь.

Автор: Алексей1153 9.6.2011, 19:33

denmor86, так часто рисовать необязательно, можно раз в 200 мс делать апдейт графики при помощи таймера

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)