我正在尝试创建一个显示文件夹内容的Qt应用程序(Mac OS中的“Users”文件夹)。 这是代码:
QFileSystemModel *dirModel = new QFileSystemModel;
dirModel->setRootPath("/Users");
ui->listView->setModel(dirModel);
我还尝试使用this code
当我运行应用程序时,它不显示“/ Users”文件夹的内容,而是显示根驱动器(注意:不是驱动器的内容)。该文件夹确实存在,我也尝试使用其他文件夹。
答案 0 :(得分:14)
您是否尝试强制索引显示目录?
listView->setRootIndex(dirModel->index("/Users"));
这对我来说很好用:
#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();
}
答案 1 :(得分:6)
此代码也适用于我:
QFileSystemModel *dirModel = new QFileSystemModel(this);
dirModel->setRootPath("/Users");
ui->listView->setModel(dirModel);
ui->listView->setRootIndex(dirModel->setRootPath("/Users"));