У меня есть диск, обозначенный как «Локальные данные», установленный на «/ media/Local Data». И моя директория программы также находится в «/ media/Local Data/Programming». Я хотел бы установить «Локальные данные» как корневой путь QFileSystemModel. Я не могу найти способ сделать это.Как QFileSystemModel setRootPath для другого диска на linux
Вот мой код:
QFileSystemModel* model = new QFileSystemModel;
model->setRootPath("/media/Local Data");
QTreeView tree;
tree.setRootIndex(model->index("/media/Local Data");
tree.setModel(model);
qDebug() << QDir::currentPath();
// "/media/Local Data/Files/Programming/C++/build-FileSystemModel-Desktop_Qt_5_5_1_GCC_64bit-Debug"
tree.setMinimumSize(900,500);
tree.show();
Я получаю ошибку QAbstractItemView::setRootIndex failed : index must be from the currently set model
.
Когда я запускаю программу, она всегда дает мне корень «/» в качестве корневого пути.
Как я могу это достичь?
Ох. Я сделал setModel просто не показан в моем вопросе. Я отредактирую его. – tom
Я обнаружил, что я сделал неправильно. 'setModel()' необходимо выполнить до 'setRootIndex()' – tom