def paint(self, painter, option, index):
if index.column() > 2:
super(SpectralModelsTableDelegate, self).paint(painter, option, index)
return None
painter.save()
# set background color
painter.setPen(QtGui.QPen(QtCore.Qt.NoPen))
if option.state & QtGui.QStyle.State_Selected:
painter.setBrush(QtGui.QBrush(
self.parent().palette().highlight().color()))
else:
# Does this row have a conflict?
conflicts = self.session._spectral_model_conflicts
conflict_indices = np.hstack([sum([], conflicts)])
row = index.row()
if row in conflict_indices:
for i, conflict in enumerate(conflicts):
if row in conflict:
color = _COLORS[i % len(_COLORS)]
break
painter.setBrush(QtGui.QBrush(QtGui.QColor(color)))
else:
painter.setBrush(QtGui.QBrush(QtCore.Qt.white))
painter.drawRect(option.rect)
# set text color
painter.setPen(QtGui.QPen(QtCore.Qt.black))
painter.drawText(option.rect, QtCore.Qt.AlignLeft|QtCore.Qt.AlignCenter, index.data())
painter.restore()
评论列表
文章目录