一、前言
在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;