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

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

Форум на CrossPlatform.RU _ Qt Система рисования. Печать _ Сохранение следа при рисовании

Автор: AD 16.1.2009, 18:54

Есть такая проблема. Рисую линию в paintEvent. При отрисовке следующей линии, но с другими координатами использую те же переменные. Есть ли возможность заставить рисовальщик не затирать предыдущую линию?
Вот часть кода:

/// Рисование карты и траектории Сахарой
void QTrackWidget::paintEvent(QPaintEvent* events)
{
    QPainter painter(this);

    // anything
        painter.setPen(QPen(Qt::black, 1, Qt::SolidLine));    ///< установка цвета линий
        QPoint p1(calc_distance -> beginPoint()), p2(calc_distance -> endPoint());
            painter.drawLine(p1, p2);

    painter.setPen(QPen(Qt::blue, 1, Qt::SolidLine));    ///< установка цвета траектории

    QWidget::paintEvent(events);
}

Автор: kwisp 16.1.2009, 19:00

Цитата(AD @ 16.1.2009, 18:54) *
При отрисовке следующей линии, но с другими координатами использую те же переменные. Есть ли возможность


отрисовка уже в следующем вызове paintEvent???

Автор: AD 16.1.2009, 19:05

Цитата(kwisp @ 16.1.2009, 19:00) *
отрисовка уже в следующем вызове paintEvent???

ну да, впринципе. Я не указал, эта отрисовка происходит при определенных условиях, но это неважно!

Автор: Litkevich Yuriy 16.1.2009, 19:06

AD, дак может тогда продолжать рисовать, т.е. что-то типа "полилинии"?

Автор: AD 16.1.2009, 19:09

Цитата(Litkevich Yuriy @ 16.1.2009, 19:06) *
AD, дак может тогда продолжать рисовать, т.е. что-то типа "полилинии"?

именно этого я не хочу. Придется заводить еще какие-то переменные, а это лишняя головная боль.

Автор: AD 16.1.2009, 19:51

Есть какие-нибудь идеи? :huh:

Автор: kwisp 16.1.2009, 20:59

Цитата(AD @ 16.1.2009, 19:51) *
Есть какие-нибудь идеи? :huh:


с помощью bitBlt() копировать изображение и дорисовывать что нужно,
рисовать на картинке сохраняя её дорисовывать необходимое в следующий раз.

Автор: SABROG 16.1.2009, 22:22

А если завести QPixmap, рисовать на нем и выводить содержимое через drawPixmap()?

Автор: kwisp 16.1.2009, 23:04

Цитата(SABROG @ 16.1.2009, 22:22) *
А если завести QPixmap, рисовать на нем и выводить содержимое через drawPixmap()?


ничего не напоминает:)

Цитата
рисовать на картинке сохраняя её дорисовывать необходимое в следующий раз.

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