我在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”?
最佳答案
然后您必须为 View 设置根索引。
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 - 无法在 Linux 中的 QFileSystemModel 中显示主目录之上的任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34091436/