I don't see a problem. With QModelIndex
you can get any data relative to given model index.
void GuiClass::onTableCellClicked(const QModelIndex &index)
{
int row = index.row();
QString name = index.sibling(row, 0).data().toString();
QString surname = index.sibling(row, 1).data().toString();
int age = index.sibling(row, 2).data().toInt();
QString username = index.sibling(row, 3).data().toString();
...
}