2011-07-03 31 views
7

Tôi cố gắng để sử dụng FolderListModel, theo này exampleQML FolderListModel

như thế này:

ListView 
{ 
    anchors.fill: parent 
    FolderListModel 
    { 
     id: foldermodel 
     folder: "C:/Qt/Projects/" 
     showDirs: true 
     showDotAndDotDot: true 
     nameFilters: ["*"] 
     sortField : "Name" 
    } 
    Component { 
     id: filedelegate 
     Text { text: fileName } 
    } 
    model: foldermodel 
    delegate: filedelegate 
} 

tôi muốn hiển thị tất cả các tập tin/thư mục trong thư mục cơ sở, theo một cách đệ quy. có ai có ý tưởng làm thế nào để làm điều đó?

Trả lời

6

Dường như bạn có URL không hợp lệ trong thuộc tính thư mục. Documentation for FolderListModel phần tử mô tả thuộc tính 'thư mục' là:

Thuộc tính thư mục chứa URL cho thư mục mà mô hình hiện đang cung cấp. Giá trị là URL được biểu thị dưới dạng chuỗi và phải là tệp: hoặc qrc: URL hoặc URL tương đối. Theo mặc định, giá trị là một URL không hợp lệ.

Điều này có nghĩa là thuộc tính thư mục phải ở định dạng folder: "file:///[Directory path]". Ví dụ: hãy thử thay đổi thuộc tính thư mục của bạn trong trường hợp này thành: folder: "file:///C:/Qt/Projects/" và xem điều đó có hiệu quả hay không.

1

Tôi nghĩ rằng đây không thể được thực hiện mà không bò fs, điều này sẽ requiere để tạo ra một mô hình danh sách và sao chép các cây bên trong ...

btw hãy cẩn thận của chu kỳ, lọc. và .. ra

- http://rzr.online.fr/q/qml