#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. pyqt时间

    # -*- coding: utf-8 -*-__author__ = 'Administrator'from PyQt4 import QtCore, QtGui class Help(QtGui. ...

  2. pyqt tabliwdget表头属性修改

    # -*- coding: utf-8 -*-__author__ = 'Administrator'import sysfrom PyQt4 import QtGui class MyWindow( ...

  3. 住javaWeb分页实现(模拟百度首页)

    本文来源于 http://blog.csdn.net/tjpu_lin/article/details/41050475 近期在开发一个项目,项目中有非常多数据展示的模块.所以要用到分页,网上搜了非常 ...

  4. sql server 2008 中的架构(schame)理解

    机构是属于数据库里面的.在一个数据库中,每一张表都属于一个架构,架构就像是命名空间,把数据库中的表分成不同的组,一个组就是一个命名空间,方便管理

  5. (转)sql中 in 、not in 、exists、not exists 用法和差别

    exists (sql 返回结果集为真)  not exists (sql 不返回结果集为真)  如下:  表A  ID NAME  1    A1  2    A2  3  A3 表B  ID AI ...

  6. C#不用COM组件导出数据到Excel中

    <?xml version='1.0'?><?mso-application progid='Excel.Sheet'?><Workbook xmlns='urn:sch ...

  7. 外观模式-facade实现interface的方式(简单工厂+facade组合使用)

    Façade 外观模式 1.Façade实现为interface的具体过程 在Façade.java 接口 工厂 将构造方法私有  static 方法产生一个工厂 此时 客户端不知道 Façade的存 ...

  8. oc随笔五:NSArray

    #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...

  9. JS控制文本框textarea输入字数限制的方法

    <html> <head runat="server"> <title></title> <script type=" ...

  10. UVA10562 数据结构题目

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...