у меня есть QTreeView где я показываю все системные диски, используя QFileSystemModel. Я ищу гораздо лучший подход, где QTreeView может отображать локальные диски в одном разделе, съемный диск в другом и так далее. В основном сортировка дисков.
Вот код:
pSystemPrimaryModel = new QFileSystemModel(this);
pSystemPrimaryModel->setRootPath(QDir::currentPath());
pSystemPrimaryModel->setFilter( QDir::AllDirs | QDir::NoDotAndDotDot );
// Sets the model for the view to present.
ui->PrimTreeView->setModel(pSystemPrimaryModel);
// Just Display NAME and hide other Columns
for(int nCount = 1; nCount < pSystemPrimaryModel->columnCount(); nCount++)
ui->PrimTreeView->hideColumn(nCount);
Это в основном дает мне все диски следующим образом:
Name:
+ C:
+ New Volume(D:)
+ New Volume(E:)
+ SD_Card(F:)
+ Transcend Drive(G:)
С помощью hideColumn () Я скрыл весь заголовок (кроме имени), который отображается при использовании QTreeView, т.е. Имя, Тип, Размер и т.п.
Мое требование:
Чего я в основном хочу достичь, так это:
В основном разделяют локальные и внешние диски. Я сталкивался QSortFilterProxyModel похоже, это сортирует порядок дисков. Но я понятия не имею, как это использовать.
Задача ещё не решена.
Других решений пока нет …