A40i使用笔记:qt在Linux获取系磁盘空间和指定磁盘空间

一、前言

在linux下执行qt程序,获取磁盘空间以方便进行管理

二、环境

qt5.9

linux3.10

A40i

三、正文

1.获取指定磁盘空间占用率

简化

        QStorageInfo storage = QStorageInfo::root();
        storage.refresh();  //获得最新磁盘信息
        storage.device();
        storage.setPath("/mnt/sata");
        mSATA_size=storage.bytesTotal()/1024/1024;
        mSATA_used=mSATA_size-storage.bytesFree()/1024/1024;
        mSATA_persent=mSATA_used*100/mSATA_size;

详细 

        //计算mSATA_size,mSATA_used,mSATA_persent
        QStorageInfo storage = QStorageInfo::root();
        storage.refresh();  //获得最新磁盘信息
        storage.device();
        storage.setPath("/mnt/sata");
        qDebug() << "name:" << storage.name();
        qDebug() << "displayName:" << storage.displayName();
        qDebug() << "fileSystemType:" << storage.fileSystemType();
        qDebug() << "totalsize:" << storage.bytesTotal()/1024/1024 << "MB";
        qDebug() << "freesize:" << storage.bytesFree()/1024/1024 << "MB";
        qDebug() << "availableSize:" << storage.bytesAvailable()/1024/1024 << "MB";
        qDebug() << "blockSize:" << storage.blockSize()/1024/1024 << "MB";
        mSATA_size=storage.bytesTotal()/1024/1024;
        mSATA_used=mSATA_size-storage.bytesFree()/1024/1024;
        mSATA_persent=mSATA_used*100/mSATA_size;
        qDebug() << "mSATA_size:" << mSATA_size << "MB";
        qDebug() << "mSATA_used:" << mSATA_used << "MB";
        qDebug() << "mSATA_persent:" << mSATA_persent << "%";

2.获取系统全盘空间使用率


//        QStorageInfo storage = QStorageInfo::root();
//        qDebug() << "storage=======" << storage.rootPath();
//        qDebug() << "storage=======" << storage.device();
//        QList<QStorageInfo> list = QStorageInfo::mountedVolumes();

//        int count = list.size();
//        QString strInfo = "";
//        for(int i = 0; i < count; ++i)
//        {
//           QStorageInfo diskInfo = list.at(i);
//           qint64 freeSize = diskInfo.bytesFree();
//           qint64 totalSize = diskInfo.bytesTotal();
//           QString tempInfo = QString("name:%1     totalSize:%2    freeSize:%3 \n").arg(diskInfo.displayName()).arg(GetStorageSize(totalSize)).arg(GetStorageSize(freeSize));
//           strInfo.append(tempInfo);
//        }
//        qDebug()<<strInfo;

四、结语

おすすめ

転載: blog.csdn.net/qq_37603131/article/details/119147241