Russian Qt Forum
Ноябрь 03, 2024, 00:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Очистить QPainter  (Прочитано 7442 раз)
Martiro
Гость
« : Ноябрь 27, 2007, 14:04 »

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

Сообщений: 2901



Просмотр профиля WWW
« Ответ #1 : Ноябрь 27, 2007, 15:20 »

Удалите картинку с BackgroundPixmap

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

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Martiro
Гость
« Ответ #2 : Ноябрь 27, 2007, 15:47 »

Картинка большая, а отрисовка линий производится в через paintEvent... не хотелось бы чтобы Painter каждый раз перегружал весь Background...
Записан
Alex03
Гость
« Ответ #3 : Ноябрь 27, 2007, 17:15 »

А в чём проблема то? update() ( ну или repaint() ) и в paintEvent-е ничего не рисовать.
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #4 : Ноябрь 27, 2007, 17:50 »

А в чём проблема то? update() ( ну или repaint() ) и в paintEvent-е ничего не рисовать.

+1
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.127 секунд. Запросов: 22.