linux - 无法在 Linux 中的 QFileSystemModel 中显示主目录之上的任何内容

标签 linux qt home-directory qfilesystemmodel

我在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/

相关文章:

linux - wifi数据包捕获有什么限制?

Linux DATE 两台服务器之间有几秒的间隔?

c++ - QGraphicsScene mouseMoveEvent 在 QGraphicsView wheelEvent 之前不起作用

reactjs - 错误 : Child Compilation failed - Module. createRequire 不是函数

python - 在过渡到 Ubuntu 的过程中,如何修复 chromedriver Windows >>> 的可执行错误?

c++ - Qt QAbstractItemModel - 项目删除崩溃

c++ - QList 正确的使用方法

php - XAMPP - 如何从主目录执行 PHP 文件?

python - 如何使用python找到真正的用户主目录?

python - 如何修复工作目录始终为home? (Python)