Привет. Делаю что-то вроде редактора свойств для неких элементов. Слева QTreeWidget, справа собственно редактор. В слоте
currentItemChanged(current, previous)
editor->setItemData( item ); //setItemData выставляется item'у признак валидности
if( !item->isValid() ) { //item - моя структура данных
SHOW_CRITICAL_ERROR_MSG( "Ошибка", "Что-то неправильно" );
ui->treeWidget->blockSignals( true );
ui->treeWidget->setCurrentItem( previous, 0, QItemSelectionModel::Clear );
// ui->treeWidget->selectionModel()->clearSelection();
ui->treeWidget->blockSignals( false );
previous->setSelected( true ); //QTreeWidgetItem, связанный с item
return;
}