#ifndef FOLDERFINDER_H

#define FOLDERFINDER_H
#include <QDir>
class FolderFinder
{
public:
    QString absoluteFolderPath; //要转换的绝对路径
    QString FolderPath; //要定位的文件夹名称
    FolderFinder(const QString & filePath,const QString & folderPath)
    {
        FolderPath=folderPath;
    RecursiveFolder(filePath);
    }
private:
    QString getAbsolutePathFrom(const QString & filePath)
    {
        QDir tempInfo;
        QString absoluteFilePath=tempInfo.absoluteFilePath(filePath).replace("/./","/"); //获取绝对路径
    return absoluteFilePath;
    }
    void RecursiveFolder(const QString & path)
    {
        QDir dir(path);
       // dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
       // dir.setSorting(QDir::Size | QDir::Reversed);
        QFileInfoList list = dir.entryInfoList();
        for (int i = 0; i < list.size(); ++i) {
            QFileInfo fileInfo = list.at(i);
            if(fileInfo.fileName()=="." || fileInfo.fileName()=="..")
            {
                    i++;
                    continue;
            }
            if(fileInfo.isDir())
            {
             if(fileInfo.fileName()==FolderPath)
             {
                 absoluteFolderPath=getAbsolutePathFrom(fileInfo.filePath());
                 break;
             }
            RecursiveFolder(fileInfo.filePath());
            }
        }
    }
};
#endif // FOLDERFINDER_H
使用方法

FolderFinder folder("C:\\qtconsoletest-build-desktop","Politics"); //初始递归路径

cout<<qPrintable(QString("%1").arg(folder.absoluteFolderPath));

###
QStringList items; items << "All" << "Weekend Plus" ; ui->listWidgetTimeSet->addItems(items);

QListWidgetItem* all_item = new QListWidgetItem( "All" );
QListWidgetItem* wp_item = new QListWidgetItem( "Weekend Plus" );
listWidgetTimeSet->addItem( all_item );
listWidgetTimeSet->addItem( wp_item ); listWidgetTimeSet->setCurrentItem( wp_item );

QT文件夹定位(网友提供)的更多相关文章

  1. Qt文件夹遍历

    void FindFile(const QString &_filepath) { QDir dir(_filepath); for each (QFileInfo mfile in dir. ...

  2. [转]Windows7文件夹转移清理臃肿的C盘

    当你使用Windows的时候,你会发现无论哪个版本的Windows,系统都会默认将用户文件夹和程序数据文件夹(xp下是Documents and Settings文件夹,而windows7和vista ...

  3. 改变 Windows 用户文件夹默认位置

    https://social.microsoft.com/Forums/zh-CN/b6602d50-1a75-42d2-90bd-3dc6c2c82147/programdata?forum=win ...

  4. Qt文件发布

    1.打开Qt文件夹下的,其他版本可能为Qt (版本号)for Desktop cmd 2.将Release文件下的exe文件复制到别的文件夹,我这里为G:\Qt\QT_project\ff 3.在Qt ...

  5. 20160223 - Windows 10 的文件资源管理器下出现重复文件夹的解决办法

    现象: 安装 OneDrive 从 Windows 7.8.8.1 升级来的 Windows 10 的电脑,可能会出现文件资源管理器左侧面板中出现重复的文件夹. 通常有:视频.图片.文档.下载.音频. ...

  6. 探索Windows命令行系列(4):通过命令管理文件和文件夹

    1.文件夹操作 1.1.DIR(directory)命令 1.2.TREE 命令 1.3.CD(change directory)命令 1.4.MD(make directory)命令 1.5.RD( ...

  7. jq和js插件的各个文件夹里放置的内容

    1. demo文件夹,存放各种实例. 2. dist文件夹,全称是distribution.在某些框架中,因为开发和发布的内容或者代码形式是不一样的(比如利用Grunt压缩等等),这时候就需要一个存放 ...

  8. 探索Windows命令行系列(4):通过命令操作文件和文件夹

    1.文件夹操作 1.1.DIR(directory)命令 1.2.TREE 命令 1.3.CD(change directory)命令 1.4.MD(make directory)命令 1.5.RD( ...

  9. Android——4.2.2 源代码文件夹结构分析

    近期公司要整android内部培训,分配给我写个培训文档.这里记录例如以下: 撰写不易,转载请注明出处:http://blog.csdn.net/jscese/article/details/4089 ...

随机推荐

  1. swift 随机数

    1.一行代码生成随机数  arc4random() 如果要生成一个生成在一定范围内的随机整数: func randomIn(#min: Int, max: Int) -> Int { retur ...

  2. 区间DP(初步了解)

    区间动态规划问题一般都是考虑.对于每段区间,他们的最优值都 是由几段更小区间的最优值得到,是分治思想的一种应用,将一个区间 问题不断划分更小的区间直至一个元素组成的区间,枚举他们的组合  .求合并后的 ...

  3. Ubuntu 14.04根据系统,休眠后不能启动要解决的问题

    简介: 提升Ubuntu制度14.04之后,当系统进入休眠,我们不能再次启动,直接崩溃,凡出了问题? 1.   问题纳入 Ubuntu升级系统14.04之后.通过系统的Power设置休眠时间,在系统进 ...

  4. git config配置文件 (共有三个配置文件)

    设置 git status的颜色. git config --global color.status auto 一.Git已经在你的系统中了,你会做一些事情来客户化你的Git环境.你只需要做这些设置一 ...

  5. C/C++笔试准备(2)

    问题:编辑距离,是指将一个字符串变为另一个字符串,仅可以3种操作:修改一个字符,删除一个字符,插入一个字符.the变成that:删除e,插入a,插入t.20’ 实现编辑距离算法. 解算:利用动态规划的 ...

  6. CSS样式之背景、文本

    一.背景     1.背景颜色用background-color属性,例如:body{background-color:red}     2.用图像做背景用background-image属性,例如b ...

  7. Asp.Net HttpApplication请求管道与Session(一)

    1.请求处理顺序执行事件 /********************请求处理顺序执行事件**********************/ /// <summary> /// 请求入站 /// ...

  8. (转)2.4.1 基础知识--添加服务引用与Web引用的区别

    <Web服务开发学习实录>第2章构建ASP.NET Web服务,本章我们将学习创建Web服务的各种方法,并重点对使用Visual Studio创建ASP.NET Web服务和修改Web服务 ...

  9. cocos2dx 字体描边方法介绍

    转载地址:http://www.taikr.com/group/2/thread/1606 关于cocos2dx 字体描边的实现,不考虑效果和效率的话,是有三种方式: ① 利用CCLabelTTF制作 ...

  10. [Mugeda HTML5技术教程之18]如何在Android应用中使用Mugeda动画内容

    1.简介 本文主要介绍如何在Android应用程序中使用Mugeda动画.Mgeda动画是标准HTML5格式的动画,在Android应用程序中可以使用WebView来加载Mugeda动画.动画内容本身 ...