QFileSystemModel 如何将 RootPath 设置到 linux 上的另一个驱动器
How QFileSystemModel setRootPath to another drive on linux
我有一个标记为 "Local Data" 的驱动器安装在“/media/Local 数据”。
而我的程序目录也在“/media/LocalData/Programming”。
我想将 "Local Data" 设置为 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 failed : index must be from the currently set model
。
当我运行程序时,它总是给我根“/”作为根路径。
我怎样才能做到这一点?
该错误与 QFileSystemModel
无关。您尚未为视图设置模型。试试这个(未经测试)。
QFileSystemModel* model = new QFileSystemModel;
model->setRootPath("/media/Local Data");
QTreeView* tree = new QTreeView;
tree->setModel(model);
tree->setRootIndex(tree->model()->index(QDir::currentPath()));
我有一个标记为 "Local Data" 的驱动器安装在“/media/Local 数据”。 而我的程序目录也在“/media/LocalData/Programming”。 我想将 "Local Data" 设置为 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 failed : index must be from the currently set model
。
当我运行程序时,它总是给我根“/”作为根路径。
我怎样才能做到这一点?
该错误与 QFileSystemModel
无关。您尚未为视图设置模型。试试这个(未经测试)。
QFileSystemModel* model = new QFileSystemModel;
model->setRootPath("/media/Local Data");
QTreeView* tree = new QTreeView;
tree->setModel(model);
tree->setRootIndex(tree->model()->index(QDir::currentPath()));