我有 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 ,它看起来像是对驱动器顺序进行排序。但我不知道如何使用它。