2012-04-13 547 views
8

我试图创建一个使用QFileSystemModelQTreeView,它将在树的根索引下显示多个目录树。Qt QFileSystemModel - 根索引下的多个目录树

我currnetly使用以下代码:

QFileSystemModel *model = new QFileSystemModel(); 
QTreeView *tree = new QTreeView(); 
model->setRootPath(QDir::rootPath()); 
tree->setModel(model); 

利用这一点,该文件树将显示一个单一的项目(文件系统的根目录)。然而,我想要做的是能够显示文件系统的根目录,并将几个特定的​​目录和不相关的子树作为同胞。

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

desired behaviour

回答

4

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