На этом шаге рассмотрим сортировку элементов виджета класса QListWidget.
Элементы списка можно упорядочить вызовом метода sortItems(). При передаче в этот метод значения Qt::AscendingOrder сортировка элементов будет выполнена в возрастающем порядке, а при Qt::DescendingOrder — в убывающем. Однако если выполнить сортировку, а затем добавлять новые элементы, они не будут сортироваться. Сортировка проводится в алфавитном порядке, если нужно отсортировать по дате или по числовому значению, то необходимо унаследовать класс элемента QListWidgetItem и перезаписать в нем operator<().
После размещения в тексте предыдущего приложения строки
lwg->sortItems();
Элементы в списке будут отсортированы в алфавитном порядке (рис. 1):
Рис.1. Пример сортировки элементов списка в алфавитном порядке
После размещения в тексте предыдущего приложения строки
lwg->sortItems(Qt::DescendingOrder);
Элементы в списке будут отсортированы в порядке, обратном алфавитному (рис. 2):
Рис.2. Пример сортировки элементов списка в порядке, обратном алфавитному
На следующем шаге рассмотрим класс QTreeWidget.