行业知识
【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系统安装指南