Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: IIyLLIucTuk от Июль 13, 2010, 11:42



Название: Нужна помощь с рисованием
Отправлено: IIyLLIucTuk от Июль 13, 2010, 11:42
Итак, изложу суть вопроса, необходимо рисовать "график" 1000х1000 точек, именно независимых точек, а не линий. Обновление графика происходит постоянно через сетевые сообщения. Каждое сообщение содерижит (помимо зоголовка и т.п.) 1000 значений от 0 до 255, т.е. одну строку ну и номер строки соответственно. Полное обновление всего графика примерно за 2 секунды. Положение точек не меняется, должен меняться только цвет точки в зависимости от значения по определенной цветовой схеме (например "kGgew"). Подскажите как лучше это реализовать.


Название: Re: Нужна помощь с рисованием
Отправлено: ieroglif от Июль 13, 2010, 15:18
изложу суть ответа: надо написать соответсвующую программу :)
для некоторого понимая предлагаю прочитать соответсвующую статью в разделе уроков :)


Название: Re: Нужна помощь с рисованием
Отправлено: Igors от Июль 13, 2010, 16:59
Рисовать только то что изменилось. В общих чертах:

- Вы получили сигнал и знаете какие точки изменились. Значит надо послать графику update(const QRect & R), где R - прямоугольник (в координатах виджета) содержащий все измененные точки

- в paintEvent надо взять rect() от параметра event, часто (но не всегда) он будет тот же что Вы посылали в update. И отрисовать только то что попало в QRect

Да, придется посчитать отсечки, но это нормально/стандартно для любого графического вывода