QFileSystemModel setRootPath

Я пытаюсь создать приложение Qt, которое показывает содержимое папки (папка «Users» в Mac OS).
Вот код:

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

ui->listView->setModel(dirModel);

Я также пытался использовать этот код

Когда я запускаю приложение, вместо отображения содержимого папки «/ Users», оно показывает корневой диск (примечание: не содержимое диска). Папка существует, и я также попытался использовать другие папки.

8

Решение

Вы пытались заставить индекс показывать каталог?

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

Другие решения

Этот код работал и для меня:

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

ui->listView->setModel(dirModel);
ui->listView->setRootIndex(dirModel->setRootPath("/Users"));
5

По вопросам рекламы [email protected]