我想将 Qt 树视图中的起始路径初始化为 Linux Ubuntu 上的用户主目录。

enter image description here

我尝试了这段代码,但它不起作用。

QString sPath = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx";
dirmodel = new QFileSystemModel(this);
dirmodel->setFilter(QDir::NoDotAndDotDot | QDir::AllDirs);
dirmodel->setRootPath(sPath);
ui->treeView->setModel(dirmodel);
  • 我已经测试了 sPath :
    1. /home/<username>
    2. ${HOME}
    3. /home/casper/Music

没有人工作。=[

怎么解决这个问题呢?

感谢您的帮助。

有帮助吗?

解决方案

模型加载后,我想你需要调用 setRootIndex 在树小部件上:

ui->treeView->setRootIndex(dirmodel->index("/home/casper"));

或者对于任何主目录(也适用于 Windows、OSX 等):

ui->treeView->setRootIndex(dirmodel->index(QDir::homePath()));
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top