Qt QFileSystemModel - 根索引下的多个目录树

ecb*_*cbb 8 c++ treeview qt

我正在尝试创建一个QTreeView使用QFileSystemModel,它将在树的根索引下显示多个目录树.

我正在使用以下代码:

QFileSystemModel *model = new QFileSystemModel();
QTreeView *tree = new QTreeView();
model->setRootPath(QDir::rootPath());
tree->setModel(model);
Run Code Online (Sandbox Code Playgroud)

使用此文件树,文件树将显示单个项目(文件系统的根目录).但是,我想要做的是能够显示文件系统的根目录,并将几个特定目录和不相关的子树作为兄弟.

下面是来自不同应用程序的所需行为的图像.前两项是文件系统中的特定文件夹,其作用类似于快捷方式.最后一项与文件系统无关.

期望的行为

小智 5

我建议创建一个自定义模型,可能源自QAbstractItemModel,它具有一些顶级实体(屏幕外),您可以将多个实体作为父级QFileSystemModels,每个顶级目录对应您想要显示的顶级目录。这将允许您以不同的方式操作每棵树,具体取决于它显示的目录类型。