将QListView减少到列表中的公共元素?

时间:2013-08-07 18:49:38

标签: c++ qt qlistview

有没有一种方法或简单的方法来做到这一点?

给出一个列表:

D A B A B C D D

我希望将列表简化为:

A B C D

否则我会写一些东西在后台处理。

1 个答案:

答案 0 :(得分:1)

这取决于您的数据如何存储并传递给视图。通常,从元素列表中删除重复项的最简单方法是将其转换为set:

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

之后,您可以使用toList将集合转换回列表,或使用通常的foreach循环迭代集合。请注意,QSet是无序的。如果要对字符串进行排序,请将设置转换为列表并使用qSort对列表进行排序。