Как отсортировать системные диски в QTreeView, используя QSortFilterProxyModel

у меня есть 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, т.е. Имя, Тип, Размер и т.п.

Мое требование:

  1. Чего я в основном хочу достичь, так это:

    • Локальная папка
      • C:
      • Новый том (D 🙂
      • Новый том (E 🙂
    • Съемные диски
      • SD_Card (F 🙂
      • Transcend Drive (G 🙂

В основном разделяют локальные и внешние диски. Я сталкивался QSortFilterProxyModel похоже, это сортирует порядок дисков. Но я понятия не имею, как это использовать.

  1. Я хочу удалить заголовок в QTreeView. поскольку название виден в моем выводе, я хочу это скрыть.
    Было бы полезно, если бы вы могли вести меня 🙂

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]