2012-04-13 9 views
8

Próbuję utworzyć QTreeView przy użyciu QFileSystemModel, który wyświetli wiele drzew katalogów pod indeksem głównym drzewa.Qt QFileSystemModel - Wiele drzew katalogów pod głównym indeksem

mam currnetly stosując następujący kod:

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

Korzystanie z tego, drzewo plik zostanie wyświetlony pojedynczy element (korzeń systemu plików). Chciałbym jednak wyświetlić katalog główny systemu plików i mieć kilka katalogów i niespokrewnionych poddrzew jako rodzeństwo.

Poniżej znajduje się obraz pożądanego zachowania z innej aplikacji. Pierwsze dwa elementy to określone foldery w systemie plików, działające jak skróty. Ostatni element nie ma związku z systemem plików.

desired behaviour

Odpowiedz

4

Proponuję stworzenie modelu niestandardowego, być może pochodzący z QAbstractItemModel, że miał jakiś podmiot najwyższego poziomu (poza ekranem), do którego mógłbyś rodzic stwardnienie QFileSystemModels, po jednym dla każdego głównym katalogu chciałeś, aby wyświetlić . Umożliwi to manipulowanie każdym drzewem w inny sposób, w zależności od typu wyświetlanego katalogu.