I have solved it this way in my QTreeView subclass, but there must/ought to be a way for doing this by configuring Qt objects.

Qt Code:
  1. void TreeView::rowsAboutToBeRemoved ( const QModelIndex & parent, int start, int end )
  2. {
  3. if (selectionMode() == QAbstractItemView::SingleSelection)
  4. {
  5. QModelIndexList selectedRows = selectionModel()->selectedRows();
  6. if (selectedRows.size() == 1 && selectedRows[0].parent() == parent && selectedRows[0].row() >= start && selectedRows[0].row() <= end)
  7. {
  8. // the rows about to be removed contain the single selected item
  9. selectionModel()->clear();
  10. }
  11. }
  12. QTreeView::rowsAboutToBeRemoved (parent, start, end);
  13. }
To copy to clipboard, switch view to plain text mode