QT应用编程: 使用QStorageInfo 获取磁盘的使用情况

2022-01-07 14:06:44 浏览数 (1)

一、功能介绍

实际项目中经常需要获取当前系统磁盘或者指定磁盘的使用情况,下面使用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

0 人点赞