Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: Martiro от Ноябрь 27, 2007, 14:04



Название: Очистить QPainter
Отправлено: Martiro от Ноябрь 27, 2007, 14:04
Ситуация такая...
Есть виджет, у него есть картинка установленная в качестве BackgroundPixmap.
Далее создаётся QPainter, от этого же виджета. С помощью пэйнтера рисуется линия. В определенный момент нужно стереть всё что нарисовано в QPainter. Тупо залить всё к.-л. цветом не получится, т.к. не будет видна картинка Виджета. Использовать доп. QPixmap в качестве буфера тоже нельзя, он перекроет виджет и, соответственно, картинку....
Как быть?
___________
QT 3.3.3
*nix


Название: Re: Очистить QPainter
Отправлено: pastor от Ноябрь 27, 2007, 15:20
Удалите картинку с BackgroundPixmap

Сделайте так, чтобы QPainter сам отрисовывал данную картинку в качестве background


Название: Re: Очистить QPainter
Отправлено: Martiro от Ноябрь 27, 2007, 15:47
Картинка большая, а отрисовка линий производится в через paintEvent... не хотелось бы чтобы Painter каждый раз перегружал весь Background...


Название: Re: Очистить QPainter
Отправлено: Alex03 от Ноябрь 27, 2007, 17:15
А в чём проблема то? update() ( ну или repaint() ) и в paintEvent-е ничего не рисовать.


Название: Re: Очистить QPainter
Отправлено: pastor от Ноябрь 27, 2007, 17:50
А в чём проблема то? update() ( ну или repaint() ) и в paintEvent-е ничего не рисовать.

+1