Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: remiznik от Июль 03, 2008, 16:48



Название: QPainter как сохранить то что нарисовал !
Отправлено: remiznik от Июль 03, 2008, 16:48
Не знаю правильно ли назвал тему но вопрос вот в чём !
Есть главный виджет на котором рисую график, при клике  по графику рисуется вертикальная линия при втором клике  рисуется вторая с новой координатой. Как сохранить то что нарисовал ? чтоб при каждом новом клике рисовалась новая линия !


Название: Re: QPainter как сохранить то что нарисовал !
Отправлено: Swappp от Июль 03, 2008, 18:00
Отрисовывать вначале например на QPixmap, накладывать на него новую линию и отображать. Только есть подозрение на не правильную постановку задачи...


Название: Re: QPainter как сохранить то что нарисовал !
Отправлено: Karl-Philipp от Июль 03, 2008, 21:46
Не знаю правильно ли назвал тему но вопрос вот в чём !
Есть главный виджет на котором рисую график, при клике  по графику рисуется вертикальная линия при втором клике  рисуется вторая с новой координатой. Как сохранить то что нарисовал ? чтоб при каждом новом клике рисовалась новая линия !


А что если использовать
Цитировать
QPolygon ( const QVector<QPoint> & points )

и добавлять при клике туда координаты?


Название: Re: QPainter как сохранить то что нарисовал !
Отправлено: BaltikS от Июль 04, 2008, 06:54
Всё проще.... QPixmap::grabWidget(widget); ;)


Название: Re: QPainter как сохранить то что нарисовал !
Отправлено: remiznik от Июль 04, 2008, 20:53
пользуясь вашими советами решил проблему вот так !
Код:
QPixmap line(1,box->height());
       QPainter draw(&line);
       QPen pn=draw.pen();
       pn.setColor(0x111111);
       pn.setWidth(1);
       pn.setStyle(SolidLine);
       draw.setPen(pn);
       draw.drawLine(0,0,0,box->height());
       //paint->drawPixmap(r,30,line);     
         bitBlt(box,r,0,&line);
не очень красиво но работает !