def data(self, index: QModelIndex, role=None):
row = index.row()
if role == Qt.DisplayRole:
if row == 0:
return "not assigned"
else:
try:
return self.participants[row-1].name + " ("+ self.participants[row-1].shortname + ")"
except IndexError:
return None
elif role == Qt.BackgroundColorRole:
if row > 0:
try:
return constants.PARTICIPANT_COLORS[self.participants[row-1].color_index]
except IndexError:
return None
elif role == Qt.TextColorRole:
if row > 0:
try:
bgcolor = constants.PARTICIPANT_COLORS[self.participants[row-1].color_index]
red, green, blue = bgcolor.red(), bgcolor.green(), bgcolor.blue()
return QColor("black") if (red * 0.299 + green * 0.587 + blue * 0.114) > 186 else QColor("white")
except IndexError:
return None
评论列表
文章目录