I am attempting to create a Qt application which shows the contents of a folder (“Users” folder in Mac OS). Here is the code:
QFileSystemModel *dirModel = new QFileSystemModel;
dirModel->setRootPath("/Users");
ui->listView->setModel(dirModel);
I also attempted using this code
When i run the application, instead of showing the content of the “/Users” Folder, it shows the root drive (note: not the content of the drive). The folder does exist and i also tried using other folders.
Did you try forcing the index to show the directory ?
listView->setRootIndex(dirModel->index("/Users"));
This works fine for me:
#include <QtGui>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QFileSystemModel model;
model.setRootPath("/Users");
QListView view;
view.setModel(&model);
view.setRootIndex(model.index("/Users/"));
view.show();
return app.exec();
}
This code has worked for me as well:
QFileSystemModel *dirModel = new QFileSystemModel(this);
dirModel->setRootPath("/Users");
ui->listView->setModel(dirModel);
ui->listView->setRootIndex(dirModel->setRootPath("/Users"));
来源:https://stackoverflow.com/questions/12357756/qfilesystemmodel-setrootpath