Можно сделать это через QSortFilterProxyModel:
- Реализовывается QAbstractListModel
- К ней цепляется два QSortFilterProxyModel
- К каждому из них цепляется свой QListView
- У данных в QAbstractListModel добавляется Qt.ItemDataRole, отвечающая за расположение в одном из списков
- У каждого из QSortFilterProxyModel задаётся фильтрация по значению созданной роли
- Нажатием кнопок < и > меняется значение у роли
- ???
- PROFIT!!