2013-08-07 4 views
0

Есть ли метод или простой подход для этого?Уменьшение QListView до общих элементов в списке?

Учитывая список с:

D A B A B C D D 

Я хочу, чтобы список сократить до:

A B C D 

В противном случае я просто написать что-то для обработки в фоновом режиме.

+0

Под «списком», вы имеете в виду 'QList'? –

+0

Элементы находятся в QListView, но я думаю, они могут быть помещены в QList, если есть способ найти общие элементы. – jdl

ответ

1

Это зависит от того, как ваши данные хранятся и передаются в представление. Как правило, самый простой способ для удаления дубликатов из списка элемента преобразование его установить:

QStringList values; 
//... 
QSet<QString> set = values.toSet(); 

После этого вы можете преобразовать набор обратно в список с помощью toList или перебрать набор, используя обычную foreach петли. Обратите внимание, что QSet неупорядочен. Если вы хотите отсортировать строки, преобразуйте их в список и отсортируйте список, используя qSort.