如何初始化Qt树视图中的起始路径?
-
26-12-2019 - |
题
我想将 Qt 树视图中的起始路径初始化为 Linux Ubuntu 上的用户主目录。
我尝试了这段代码,但它不起作用。
QString sPath = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx";
dirmodel = new QFileSystemModel(this);
dirmodel->setFilter(QDir::NoDotAndDotDot | QDir::AllDirs);
dirmodel->setRootPath(sPath);
ui->treeView->setModel(dirmodel);
- 我已经测试了 sPath :
/home/<username>
${HOME}
/home/casper/Music
没有人工作。=[
怎么解决这个问题呢?
感谢您的帮助。
解决方案
模型加载后,我想你需要调用 setRootIndex
在树小部件上:
ui->treeView->setRootIndex(dirmodel->index("/home/casper"));
或者对于任何主目录(也适用于 Windows、OSX 等):
ui->treeView->setRootIndex(dirmodel->index(QDir::homePath()));
不隶属于 StackOverflow