У меня несколько "слоев" - QPixmap'ов, которые обсчитываются отдельно и выводятся на окно в paintEvent. Как стереть (залить прозрачным) прямоугольный кусок pixmap, чтобы то что ниже было видно?
Я пробовал делать painter.fillRect(<...>, transparent), но это, как и предполагалось, ничего не делает. painter.eraseRect() не работает, только если установить painter.setBackgroundMode(OpaqueMode), однако, в этом случае весь pixmap заливает белым.
QPixmap::setMask
К сожалению, это получается еще медленнее, чем pixmap.fill() и повторная перерисовка всех участков pixmap.
Попробуй с композитингом рисовать на QImage.
Спасибо, посмотрю.
Up. Так и не удалось придумать ничего работающего.
установи рисовальщику QPainter::CompositionMode_Source и рисуй заливку QColor(0, 0, 0, 0) должно помочь.
Как ни печально, я увидел это только сейчас (хотя уже давно разобрался с этим и, пожалуй, разобрался бы быстрее, если бы следил за форумом). Я идиот. Спасибо Вам.
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)