Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ QFileSystemModel如何在linux上设置另一个驱动器的根路径_C++_Linux_Qt_Qfilesystemmodel - Fatal编程技术网

C++ QFileSystemModel如何在linux上设置另一个驱动器的根路径

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

我在/media/Local Data上安装了一个标记为Local Data的驱动器。 我的程序目录也在/media/localdata/Programming中。 我想将本地数据设置为QFileSystemModel的根路径。 我找不到做这件事的方法

这是我的密码:

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之前完成