code: def setData(self, index, value, role=Qt.EditRole):
          
          if not index.isValid():
              return False
          if index.column() < 3:
              return False
          value = display_to_value(value, self.get_value(index),
                                   ignore_errors=True)
          self.set_value(index, value)
          self.dataChanged.emit(index, index)
          return True
docs: Cell content change