首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt - c++:关于如何使用没有对象的QFileInfo

Qt - c++:关于如何使用没有对象的QFileInfo
EN

Stack Overflow用户
提问于 2014-09-12 17:43:18
回答 1查看 488关注 0票数 0

如果之前有人问过这个问题,我很抱歉,但我在搜索中找不到合适的词,这可能会影响搜索结果,无论如何,我回到c++后决定编写一个简单的工具,当我在编程时,我需要一种在Qt中搜索文件的方法,这就是代码:

代码语言:javascript
复制
void Main_Sorter::SearchForFile(QString Path , QString extention , QString FileName)
{

    QDirIterator dir(Path , QDirIterator::Subdirectories);

    while(dir.hasNext())
    {

        dir.next();
        if(QFileInfo(dir.filePath()).isFile())
            if(QFileInfo(dir.filePath()).suffix() == extention)
                if(QFileInfo(dir.filePath()).fileName() == FileName)
                    qDebug()<<"file found ! " + FileName;

    }

}

我想知道我们是如何在这里单独使用类名的?“QFileInfo”而没有对象来控制它?以及我们是如何从

代码语言:javascript
复制
 QFileInfo(dir.filePath())

我已经很久没有使用c++了,但我不记得使用过这样的东西?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-12 17:55:42

若要访问静态类数据,可以使用::operator,如

代码语言:javascript
复制
QFileInfo::someStaticData

此外,通过键入

代码语言:javascript
复制
if(QFileInfo(dir.filePath()).isFile())

您正在创建临时QFileInfo对象,该对象就在if语句之后被删除。您可能想要的是将对象保存到某个局部变量,例如:

代码语言:javascript
复制
QFileInfo fileInfo(dir.filePath());

并在if语句中使用该变量:

代码语言:javascript
复制
if(fileInfo.isFile()) {
    if(fileInfo.suffix() == extention)
    ....
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25813894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档