Found the solution with cellWidget as suggested above.
int MainWindow::totalRow(int srow)
{
int sum = 0;
int num_col = ui->tblScores->columnCount();
for(int j = 0; j < num_col - 1 ; j++) {
QSpinBox* sp;
sp = (QSpinBox*)ui->tblScores->cellWidget(srow,j);
sum = sum + sp->value();
}
QTableWidgetItem *tableItem = new QTableWidgetItem;
tableItem->setText(QString::number(sum));
ui->tblScores->setItem(srow,num_col - 1,tableItem);
return sum;
}