Основной вид моего приложения содержит одноуровневый (без детей) QTreeView, который отображает в среднем 30 000 элементов. Из-за способа создания элементов они вставляются в несортированную модель. Это означает, что при запуске приложения мне приходится сортировать элементы в представлении в алфавитном порядке, что занимает почти 1 секунду, оставляя незащищенный серый экран до тех пор, пока он не будет выполнен. (Так как окно еще не нарисовано)Как нарисовать сортировку QSortFilterProxyModel?
Есть ли способ получить сортировку QSortFilerProxyModel в отдельный поток или есть ли другие альтернативные способы решения этой проблемы?
Вот мой LessThan (код), для справки: (слева и справа два QModelIndexes, передаваемые в функцию)
QString leftString = left.data(PackageModel::NameRole).toString();
QString rightString = right.data(PackageModel::NameRole).toString();
return leftString < rightString;
Спасибо заранее.
Как вы инициируете сортировку при запуске? –
m_packageView-> sortByColumn (0, Qt :: AscendingOrder); –