一、功能介绍
实际项目中经常需要获取当前系统磁盘或者指定磁盘的使用情况,下面使用QT里的QStorageInfo 类获取磁盘信息,得到磁盘容量和使用情况。
二、核心代码
代码语言:javascript复制void MainWindow::GetDiskInfo()
{
//获取当前系统盘(Linux系统就是根目录)的磁盘情况
QStorageInfo ROM = QStorageInfo::root();
ROM.refresh(); //获得最新磁盘信息
qDebug() <<"文件系统路径:"<<ROM.rootPath();
if(ROM.isReadOnly())qDebug() << "只读文件系统:" << ROM.isReadOnly();
qDebug() << "文件系统类型:" << ROM.fileSystemType();
qDebug() << "总大小:" << ROM.bytesTotal()/1024/1024/1024 << "GB";
qDebug() << "可用空间:" << ROM.bytesAvailable()/1024/1024/1024 << "GB";
//获取指定目录的磁盘情况,直接设置路径即可
QStorageInfo SD;
SD.setPath("/mnt/hgfs/linux-share-dir/QT");
SD.refresh(); //获得最新磁盘信息
qDebug() <<"文件系统路径:"<< SD.rootPath();
if(SD.isReadOnly())qDebug() << "只读文件系统:" << SD.isReadOnly();
qDebug() << "文件系统类型:" << SD.fileSystemType();
qDebug() << "总大小:" << SD.bytesTotal()/1024/1024/1024 << "GB";
qDebug() << "可用空间:" << SD.bytesAvailable()/1024/1024/1024 << "GB";
}
三、运行结果
代码语言:javascript复制文件系统路径: "/"
文件系统类型: "ext4"
总大小: 48 GB
可用空间: 12 GB
文件系统路径: "/mnt/hgfs"
文件系统类型: "fuse.vmhgfs-fuse"
总大小: 225 GB
可用空间: 28 GB