Для начала для итема ставим флаг
void QTreeWidgetItem::setFlags (Qt::ItemIsEditable)
После чего его можно редактировать.
А имя новое можно узнать при помощи метода
QString QTreeWidgetItem::text ( int column )
Ну в column просто указать колонку, где имя хранится.
А как узнать изменилось ли что-нибудь можно при помощи сигнала, который уже описан в предыдущем ответе