小工具知识网

当前位置: 首页 > 行业知识 > 【QT】 QTreeView/QTreeWidget插入文件目录列表

行业知识

【QT】 QTreeView/QTreeWidget插入文件目录列表

2026-11-06 07:01:52 来源:互联网转载

���录

1 QTreeView插入文件目录列表

1.1 自定义默认展开指定路径及文件

1.2 展开指定路径的所有目录及文件

  2 QTreeWidget插入文件目录列表

1 QTreeView插入文件目录列表

  显示指定磁盘下的目录,简单的方式就是利用QTreeView+QDirModel就可以显示了。

1.1 自定义默认展开指定路径及文件

 
   //获取程序所在路径    QString applicationDirPath = QCoreApplication::applicationDirPath();    qDebug() setModel(dirMode);    ui->treeView->setRootIndex(dirMode->index(dirPath));    ui->treeView->allColumnsShowFocus();        //需要默认展开的文件位置    QString filepath=dirPath+ "/合肥市/滨湖区/滨湖考场/综合类考场";    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(dirMode->index(findpath),1);    }
这里默认展开“D:\...\slMap\安徽省\合肥市\滨湖区\滨湖考场\综合类考场”路径。 注意:不能直接使用 ui->treeView->setExpanded(model->index(目标文件路径),1), 这样只能打开第一层文件夹,setExpanded()只能打开当前文件下的文件夹要使得指定路径被打开,只能一层一层的打开文件,直到目标文件夹被打开。

1.2 展开指定路径的所有目录及文件

//获取程序所在路径    QString applicationDirPath = QCoreApplication::applicationDirPath();    qDebug() setModel(dirMode);    ui->treeView->setRootIndex(dirMode->index(dirPath));    ui->treeView->allColumnsShowFocus();    // 设置是否展开所有目录,当目录过多时候 设置展开容易卡住    ui->treeView->expandAll();
这里展开“D:\...\slMap\安徽省“路径。

  2 QTreeWidget插入文件目录列表

    先遍历指定路径下的目录文件夹名称,再插入 QTreeWidget控件。
void MainWindow::initTreeWidget(){    //获取程序所在路径    QString applicationDirPath = QCoreApplication::applicationDirPath();    qDebug() setColumnCount(2);    ui->treeWidget->setHeaderLabels(QStringList()

上一篇:宝塔面板Linux系统安装指南

下一篇:揭秘发音秘诀,掌握正确读音的终极指南!