void Widget::updatedate()
{
QDirModel *model = new QDirModel;
ui->treeView->setModel(model);
//设置根目录位置
ui->treeView->setRootIndex(model->index("C:/Users/kashey/Desktop/Test"));
ui->treeView->allColumnsShowFocus();
//需要默认展开的文件位置
QString filepath="C:/Users/kashey/Desktop/Test/bbb/2层文件夹/3层文件夹";
QStringList list = filepath.split("/");
//每次循环需要打开的文件路径
QString findpath;
//这里不能直接使用ui->treeView->setExpanded(model->index(目标文件路径),1);
//这样只能打开第一层文件夹,因此需要使用循环一层一层的打开。
//循环一层一层的打开文件夹直到目标文件夹被打开
foreach(QString addstr,list)
{
if(findpath.size()>0)
{
addstr='/'+addstr;
}
findpath+=addstr;
ui->treeView->setExpanded(model->index(findpath),1);
}
}
注意:不能直接使用ui->treeView->setExpanded(model->index(目标文件路径),1);一步到位,
这样只能打开第一层文件夹,setExpanded()只能打开当前文件下的文件夹要使得指定路径被打开,只能一层一层的打开文件,直到目标文件夹被打开。