В общем разбираюсь с этим примером, вот так можно определить выбрал ли самый верхний уровень или другой, а как определить какой из нижних уровней выбран (например 1-й или 2-й и т.д.)
if (view->selectionModel()->currentIndex().parent().isValid())
statusBar()->showMessage(tr("Позиция: (%1,%2)").arg(row).arg(column));
else
statusBar()->showMessage(tr("Позиция: (%1,%2)").arg(row).arg(column).append(tr("верхний уровень")));
Еще вопрос, например во вторую колонку я записываю численные значения, как к ним обратиться?