无法在 Linux 中的 QFileSystemModel 的主目录之上显示任何内容
Can't show anything above home directory in QFileSystemModel in Linux
我在Linux下的Qt4.8中有如下代码:
QFileSystemModel* dir_model = new QFileSystemModel;
dir_model->setRootPath("/usr");
ui->dir_tree->setModel(dir_model);
树小部件显示的不是“/usr”,而是我的主目录。如果我在我的家上方提供任何内容(例如“/”、“/etc”、“/media”),它总是会显示我的家,而不会在上方显示任何内容。
如果我在家里提供类似“/home/semen/something”的东西,它会毫无问题地准确显示该目录。
我不知道我做错了什么。我应该怎么做才能显示例如“/media/something”?
然后您必须为视图设置根索引。
QFileSystemModel* dir_model = new QFileSystemModel;
QModelIndex rootIndex = dir_model->setRootPath("/usr");
ui->dir_tree->setModel(dir_model);
ui->dir_tree->setRootIndex(rootIndex); // you are missing this step
我在Linux下的Qt4.8中有如下代码:
QFileSystemModel* dir_model = new QFileSystemModel;
dir_model->setRootPath("/usr");
ui->dir_tree->setModel(dir_model);
树小部件显示的不是“/usr”,而是我的主目录。如果我在我的家上方提供任何内容(例如“/”、“/etc”、“/media”),它总是会显示我的家,而不会在上方显示任何内容。 如果我在家里提供类似“/home/semen/something”的东西,它会毫无问题地准确显示该目录。 我不知道我做错了什么。我应该怎么做才能显示例如“/media/something”?
然后您必须为视图设置根索引。
QFileSystemModel* dir_model = new QFileSystemModel;
QModelIndex rootIndex = dir_model->setRootPath("/usr");
ui->dir_tree->setModel(dir_model);
ui->dir_tree->setRootIndex(rootIndex); // you are missing this step