mac下使用QStorageInfo,返回磁盘的总大小和可用大小都是-1
时间: 2024-03-09 13:44:21 浏览: 34
如果在Mac下使用QStorageInfo返回的磁盘总大小和可用大小都是-1,这可能是因为没有获取到正确的磁盘信息。这种情况可能是由于macOS的权限控制导致的。
你可以尝试使用管理员权限运行你的程序,或者在程序中添加权限请求代码。例如:
```cpp
#include <QCoreApplication>
#include <QStorageInfo>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QStorageInfo storage("/");
if (storage.isValid() && storage.isReady()) {
qint64 total = storage.bytesTotal() / (1024 * 1024);
qint64 free = storage.bytesFree() / (1024 * 1024);
qint64 available = storage.bytesAvailable() / (1024 * 1024);
qDebug() << "Total:" << total << "MB";
qDebug() << "Free:" << free << "MB";
qDebug() << "Available:" << available << "MB";
} else {
qDebug() << "Storage is not valid or not ready.";
}
return a.exec();
}
```
如果依然无法解决问题,你也可以尝试使用其他的获取磁盘信息的工具进行测试。