2012-04-13 550 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,一個爲你想顯示每個頂級目錄。這將允許您以不同的方式操作每棵樹,具體取決於它顯示的目錄類型。