2012-04-13 41 views
8

Tôi đang cố gắng tạo một QTreeView bằng cách sử dụng QFileSystemModel sẽ hiển thị nhiều cây thư mục trong chỉ mục gốc của cây.Qt QFileSystemModel - Nhiều cây thư mục trong chỉ mục gốc

Tôi currnetly sử dụng đoạn mã sau:

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

Sử dụng này, cây tập tin sẽ hiển thị một mục duy nhất (thư mục gốc của hệ thống tập tin). Những gì tôi muốn làm, tuy nhiên, là có thể hiển thị thư mục gốc của hệ thống tập tin và có một vài thư mục cụ thể và subtrees không liên quan như anh chị em ruột.

Dưới đây là hình ảnh của các hành vi mong muốn từ một ứng dụng khác nhau. Hai mục đầu tiên là các thư mục cụ thể trong hệ thống tệp, hoạt động như các phím tắt. Mục cuối cùng không liên quan đến hệ thống tệp.

desired behaviour

Trả lời

4

tôi sẽ khuyên bạn nên tạo một mô hình tùy chỉnh, có lẽ bắt nguồn từ QAbstractItemModel, rằng đã có một số đơn vị cấp cao nhất (tắt màn hình) mà bạn có thể cha mẹ nhiều QFileSystemModels, một cho mỗi thư mục cấp cao nhất bạn muốn hiển thị . Điều này sẽ cho phép bạn thao tác từng cây theo một cách khác, tùy thuộc vào loại thư mục mà nó đang hiển thị.

Các vấn đề liên quan