2011-07-15 28 views
11

Khi tôi làm điều này:Chỉ nhận các tệp chứ không phải các thư mục trong QT?

QDir myDir("/home/some/location"); 
QStringList filesList = myDir.entryList("*"); 

nó đang trở lại cả các tập tin và các thư mục bên trong vị trí đó. Nhưng tôi chỉ muốn các tập tin. Và các tệp có thể có phần mở rộng tùy ý. Bất kỳ ý tưởng?

Trả lời

10

Sử dụng QDir::entryInfoList để trả về một danh sách các QFileInfo objectsd và sau đó kiểm tra tình trạng của mỗi người trong số họ, bạn cũng có thể sử dụng bộ lọc để chỉ trả về một danh sách các file/và/hoặc dirs

+0

Ok, đã hoạt động! – Mahesh

4

Sử dụng này

QDir recoredDir("YOUR DIRECTORY"); 
    QStringList allFiles = recoredDir.entryList(QDir::NoDotAndDotDot | QDir::System | QDir::Hidden | QDir::AllDirs | QDir::Files, QDir::DirsFirst);//(QDir::Filter::Files,QDir::SortFlag::NoSort) 

;

+0

Điều này cũng nhận được thư mục (trên máy tính Windows của tôi) – James

+0

Trong blackberry 10 thiết bị, nó sẽ chỉ trả về các tệp. – pranavjayadev

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