Рисование без PaintEvent и управления QGraphicsItem - PullRequest
1 голос
/ 08 мая 2011

Сценарий: я получаю Rects of Images через сокет, и мне нужно нарисовать его в Scrollable Canvas. в настоящее время я использую QGraphicsScene и рисую с использованием QGraphicsPixmapItem, но после нескольких раз, когда одно растровое изображение перекрывает другое, нет необходимости сохранять нижнее. и я не знаю какого-либо простого способа найти перекрывающийся предмет и delete его. так что предполагается, что это займет огромную память, если перекрытие будет продолжаться вот так.

существует другой выход. Сделайте QWidget и поместите его в QScrollArea, теперь нарисуйте QWidget, используя QPainter (outside paintEvent?). Если я нарисую его за пределами paintEvent, мне нужно унаследовать QWidget и создать собственный. передайте ему Pixmap и дайте ему нарисовать в своем собственном paintEvent, вызвав update ()

Есть критика? есть какие-то еще прямые решения?

...