code: def itemData(self, item, column, role=Qt.DisplayRole):
          
          if role == Qt.DecorationRole:
              if column == self.COL_DECORATION:
                  return item.decoration
  
          elif role == Qt.FontRole:
              return item.font
  
          elif role == Qt.ForegroundRole:
              return item.foregroundBrush
  
          elif role == Qt.BackgroundRole:
              return item.backgroundBrush
  
          elif role == Qt.SizeHintRole:
              return self.cellSizeHint if item.sizeHint is None else item.sizeHint
  
          return None
docs: Returns the data stored under the given role for the item. O
              The column parameter may be used to differentiate behavior per column.
  
              The default implementation does nothing. Descendants should typically override this
              function instead of data()
  
              Note: If you do not have a value to return, return an invalid QVariant instead of
              returning 0. (This means returning None in Python)