我试图创建一个显示文件夹(在Mac OS中为“用户”文件夹)内容的Qt应用程序。
这是代码:

QFileSystemModel *dirModel = new QFileSystemModel;
dirModel->setRootPath("/Users");

ui->listView->setModel(dirModel);

我也尝试使用this code

当我运行该应用程序时,它没有显示“/Users”文件夹的内容,而是显示了根驱动器(注意:不是驱动器的内容)。该文件夹确实存在,我也尝试使用其他文件夹。

最佳答案

您是否尝试强制索引显示目录?

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();
}

关于c++ - QFileSystemModel setRootPath,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12357756/

10-11 19:31