Kaz*_*uma 2 sorting qt qlistwidget
我在QListWidget上使用sortItems()时遇到问题.这是发生的事情:
改变这个:
A z d C E o I
对此:
A C I d e o z
但我希望它是:
A C d e I o z
有什么方法可以让它变得像那样吗?
Fra*_*eld 10
QListWidget使用DisplayRole(项目的文本)进行排序,并在它们上调用QString :: localeAwareCompare.要覆盖默认值,您可以更改使用的语言环境(请参阅QLocale)或让您自己的QListWidgetItem子类重新实现QListWidgetItem :: operator <并让它进行您想要的比较.
对于任何更高级的东西,我建议你看看QListView,你可以将它与你自己的模型实现或便利模型QStandardItemModel或QStringListModel结合起来(后者可能是你案例中最简单和最优雅的解决方案).对于排序,您可以在实际模型和视图之间放置QSortFilterProxyModel.