C++ QFileSystemModel如何在linux上设置另一个驱动器的根路径
我在/media/Local Data上安装了一个标记为Local Data的驱动器。 我的程序目录也在/media/localdata/Programming中。 我想将本地数据设置为QFileSystemModel的根路径。 我找不到做这件事的方法 这是我的密码:C++ QFileSystemModel如何在linux上设置另一个驱动器的根路径,c++,linux,qt,qfilesystemmodel,C++,Linux,Qt,Qfilesystemmodel,我在/media/Local Data上安装了一个标记为Local Data的驱动器。 我的程序目录也在/media/localdata/Programming中。 我想将本地数据设置为QFileSystemModel的根路径。 我找不到做这件事的方法 这是我的密码: QFileSystemModel* model = new QFileSystemModel; model->setRootPath("/media/Local Data"); QTreeView tree; tree.s
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失败:索引必须来自当前设置的模型
当我运行程序时,它总是给我根/作为根路径
如何实现这一点?该错误与QFileSystemModel无关。您尚未为视图设置模型。试试这个未经测试的
QFileSystemModel* model = new QFileSystemModel;
model->setRootPath("/media/Local Data");
QTreeView* tree = new QTreeView;
tree->setModel(model);
tree->setRootIndex(tree->model()->index(QDir::currentPath()));
哦我确实做了我的问题中没有显示的setModel。我会编辑它。我会发现我做错了什么。setModel需要在setRootIndex之前完成