I'd like to subclass QListView in the way it will only emit some signal when user makes sort request (click on header's column). I cannot turn off sorting with setSorting(-1) because then I also lose sort indicator. I have native method in my collection that takes care of sorting so QListView should only emit signal, native method will sort items and finally QListView will be cleared and filled with new items in new order. I've tried to reimplement QListView::sort(), QListView::enforceSortOrder() and QListViewItem::sortChildItems(int, bool). Despite the fact I was browsing qlistview.cpp carefully I still don't know what method actually sorts QListViewItems when user changes sort order by clicking header's column.