zoukankan      html  css  js  c++  java
  • QStorageInfo获取磁盘信息(非常详细)

    QStorageInfo类提供了系统当前挂载的存储和驱动器的相关信息,包括它们的空间,挂载点,标签名,文件系统名。

    一般,我们可以使用特定的文件或目录来创建一个QStorageInfo类的对象,也可以使用其静态方法mountedVolumes()来得到当前系统中挂载的所有文件系统的列表;还可以使用root()静态方法,来获取根文件系统的相关信息,在Linux平台是即为"/"目录,在Windows平台上即为系统盘。

    该类的一般使用形式如下:

    QStorageInfo storage = QStorageInfo::root();

    qDebug() << storage.rootPath();
    if (storage.isReadOnly())
    qDebug() << "isReadOnly:" << storage.isReadOnly();

    qDebug() << "name:" << storage.name();
    qDebug() << "fileSystemType:" << storage.fileSystemType();
    qDebug() << "size:" << storage.bytesTotal()/1000/1000 << "MB";
    qDebug() << "availableSize:" << storage.bytesAvailable()/1000/1000 << "MB";
    注意,该类会缓存所获得的信息,我们可以在必要的使用调用它的refresh()方法来使缓存失效,从而获得最新的信息。
    下面,我们使用一个Qt控制台程序,来遍历当前电脑上的所有磁盘信息:

    #include <QCoreApplication>
    #include <QStorageInfo>
    #include <QDebug>

    int main(int argc, char *argv[])
    {
    QCoreApplication a(argc, argv);

    QList<QStorageInfo> list = QStorageInfo::mountedVolumes();
    qDebug() << "Volume Num: " << list.size();
    for(QStorageInfo& si : list)
    {
    qDebug() << "Name: " << si.name();
    qDebug() << "Block Size: " << si.blockSize();
    qDebug() << "Bytes Avaliable: " << si.bytesAvailable();
    qDebug() << "Bytes Free: " << si.bytesFree();
    qDebug() << "Bytes Total: " << si.bytesTotal();
    qDebug() << "Display Name: " << si.displayName();
    qDebug() << "File System Type: " << si.fileSystemType();
    qDebug() << "Is ReadOnly: " << si.isReadOnly();
    qDebug() << "Is Root: " << si.isRoot();
    }

    qDebug() << QStorageInfo::root().device();

    return a.exec();
    }
    运行结果如下:


    可以看出,当前系统上有4个驱动器,前面三个是本地硬盘,分别对应着系统,软件,文档三个分区,第四个没有名字的光驱。大家也可以在自己电脑上自行测试。
    ---------------------
    作者:求道玉
    来源:CSDN
    原文:https://blog.csdn.net/Amnes1a/article/details/70154766
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    如何减少网页首屏加载压力和时间
    如何解决网站因图片过大加载慢的问题?
    研究首屏时间?你先要知道这几点细节
    Nginx配置location总结及rewrite规则写法
    Nginx配置文件(nginx.conf)配置详解(2)
    Nginx配置文件nginx.conf中文详解
    Linux 命令 创建文件
    【TensorFlow-windows】(五) CNN(卷积神经网络)对cifar10的识别
    【TensorFlow-windows】(四) CNN(卷积神经网络)进行手写数字识别(mnist)
    【TensorFlow-windows】(三) 多层感知器进行手写数字识别(mnist)
  • 原文地址:https://www.cnblogs.com/findumars/p/10247621.html
Copyright © 2011-2022 走看看