Мои линейные графики немного выходят за пределы ограничивающих рамок, но мне нравится этот эффект (и я бы хотел его сохранить):

Однако, когда я провожу кистью вниз, происходит некоторая перерисовка и каким-то образом некоторая перерисовка фона, что приводит к временное изображение, где нейтральный фон разбивает перекрашенные линии:

Когда я выхожу из окна или касаюсь заголовка, некоторая перерисовка происходит снова, возвращаясь к первому image.
Вопросы
Как и где происходит перерисовка фона и что я могу сделать, чтобы на нее повлиять? Я удивлен, потому что мой пользовательский код переопределяет метод рисования делегатов и рисует только линии.
Мой метод рисования
Код: Выделить всё
def paint(self, painter, option, index):
data = index.data(UserRole+1)
rectF = option.rect.toRectF()
ndims = self.ndims
yscale = self.yscale
midHeight = rectF.top() + rectF.height()/2
ctrLine = QtCore.QLineF( rectF.left(), midHeight,
rectF.right(), midHeight )
painter.setPen( self.midPen )
painter.drawLine( ctrLine )
painter.setPen( self.linePen )
segWidth = rectF.width() / (ndims-1)
for s in range(ndims-1):
seg = data[s:s+2]
segProj = -seg / yscale * rectF.height()
segLine = QtCore.QLineF( rectF.left() + s*segWidth,
midHeight + segProj[0],
rectF.left() + (s+1)*segWidth,
midHeight + segProj[1] )
painter.drawLine( segLine )
Подробнее здесь: https://stackoverflow.com/questions/793 ... -qtreeview
Мобильная версия