zoukankan      html  css  js  c++  java
  • Qdir

    qint64 du(const QString &path)
    {
        QDir dir(path);
        qint64 size = 0;
        foreach(QFileInfo fileInfo,dir.entryInfoList(QDir::Files))
        {
            size += fileInfo.size();
        }
    
    
        foreach(QString subDir,dir.entryList(QDir::Dirs|QDir::NoDotAndDotDot))
        {
            size += du(path+QDir::separator()+subDir);
        }
    
    
        char unit ='B';
        qint64 curSize=size;
        if(curSize>1024)
        {
            curSize/=1024;
            unit ='K';
            if(curSize>1024)
            {
                curSize/=1024;
                unit ='M';
                if(curSize>1024)
                {
                    curSize/=1024;
                    unit ='G';
                }
            }
        }
        qDebug()<<curSize<<unit<<"	"<<qPrintable(path)<<endl;
        return size;
    }
    
    
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
    
    
        QStringList args = a.arguments();
        QString path;
        if(args.count()>1)
        {
            path = args[1];
        }
        else
        {
            path = QDir::currentPath();
        }
    
    
        qDebug()<<path<<endl;
    
    
        du(path);
    
    
        return a.exec();
    }






    foreach(QFileInfo fileInfo,dir.entryInfoList(QDir::Files))






    --------------

    FileView::FileView(QWidget *parent,Qt::WindowFlags f)
        : QDialog(parent,f)
    {
        setWindowTitle(tr("File View"));
    
    
        fileLineEdit = new QLineEdit(tr("/"));
        fileListWidget = new QListWidget;
    
    
        mainLayout = new QVBoxLayout(this);
        mainLayout->addWidget(fileLineEdit);
        mainLayout->addWidget(fileListWidget);
    
    
        connect(fileLineEdit,SIGNAL(returnPressed()),this,SLOT(slotShow(QDir)));
        connect(fileListWidget,SIGNAL(itemDoubleClicked(QListWidgetItem*)),this,SLOT(slotDirShow(QListWidgetItem*)));
    
    
        QString root = "/";
        QDir rootDir(root);
        QStringList string;
        string << "*";
        QFileInfoList list=rootDir.entryInfoList(string);
        showFileInfoList(list);
    }
    
    
    FileView::~FileView()
    {
        
    }
    
    
    void FileView::slotShow(QDir dir)
    {
        QStringList string;
        string<<"*";
        QFileInfoList list=dir.entryInfoList(string,QDir::AllEntries,QDir::DirsFirst);
        showFileInfoList(list);
    }
    
    
    void FileView::showFileInfoList(QFileInfoList list)
    {
        fileListWidget->clear();
        for(unsigned int i=0;i<list.count();i++)
        {
            QFileInfo tmpFileInfo=list.at(i);
            if(tmpFileInfo.isDir())
            {
                QIcon icon("dir.png");
                QString fileName = tmpFileInfo.fileName();
                QListWidgetItem *tmp = new QListWidgetItem(icon,fileName);
                fileListWidget->addItem(tmp);
            }
            else if(tmpFileInfo.isFile())
            {
                QIcon icon("file.png");
                QString fileName=tmpFileInfo.fileName();
                QListWidgetItem *tmp = new QListWidgetItem(icon,fileName);
                fileListWidget->addItem(tmp);
            }
        }
    }
    
    
    void FileView::slotDirShow(QListWidgetItem * item)
    {
        QString str=item->text();
        QDir dir;
        dir.setPath(fileLineEdit->text());
        dir.cd(str);
        fileLineEdit->setText(dir.absolutePath());
        slotShow(dir);
    }




        dir.setPath(fileLineEdit->text());
        dir.cd(str);
    dir.absolutePath()
    QFileInfoList list=dir.entryInfoList(string,QDir::AllEntries,QDir::DirsFirst);





  • 相关阅读:
    前端的一些雕虫小技,从100%和滚动条说起
    这事没完,继续聊spring cloud stream和kafka的这些小事
    简单聊一聊spring cloud stream和kafka的那点事
    是谁,在敲打我窗-CSS雨滴动画效果
    对照谈-官方spring-boot-starter和自定义starter异同分析
    从spring boot发邮件聊到开发的友好性
    抖音抖一抖-SVG和CSS视觉故障艺术小赏
    上位机组态控件PCHMI-PLC地址命名规则
    【C#格式化字符】【C#Chart图表控件】【饼图、柱形图、波形图】
    【PCHMI.DLL】【C#上位机二次开发文档】2021年7月15更新
  • 原文地址:https://www.cnblogs.com/laowang001/p/14021131.html
Copyright © 2011-2022 走看看