2011-07-03 37 views
7

böyle bu exampleQML FolderListModel

göre FolderListModel kullanmaya çalışıyorum:

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 
} 

i özyinelemeli şekilde taban dizin altındaki tüm dosyaları/dizinleri, göstermek istiyorum. herhangi birinin nasıl yaptığını bir fikir var mı?

cevap

6

Size klasör özelliğinde Geçersiz bir URL var gibi görünüyor. Documentation for FolderListModel öğesi 'klasör' özelliğini şu şekilde açıklar:

Klasör özelliği, modelin şu anda sağladığı klasörün URL'sini içerir. Değer bir dize olarak ifade edilen bir URL ve dosya olması gerekir: ya QRC: URL veya bir göreli URL. Varsayılan olarak, değer geçersiz bir URL'dir.

Bu, klasör özelliğinin folder: "file:///[Directory path]" biçiminde olması gerektiği anlamına gelir. Örneğin, bu durumda Klasör özelliği değiştirmeyi deneyin: folder: "file:///C:/Qt/Projects/" ve bu çalışıp çalışmadığına bakın. Bu fs emekleme olmadan yapılmış olamaz düşünüyorum

1

, bu,

Btw döngüleri dikkat ... filtreyi bir liste modeli oluşturmak ve iç ağacı kopyalamak requiere olacaktır. http://rzr.online.fr/q/qml

- ve ..

dışarı