Я знаю, что этот вопрос уже довольно старый, но я искал stackoverflow и обнаружил, что никто не получил решения для этого, поэтому я решил опубликовать.
В QtMobility имеется класс QSystemStorageInfo , который обеспечивает кросс-платформенный способ получения информации о логических дисках. Например: logicDrives () возвращает список путей, которые вы можете использовать в качестве параметров для других методов: availableDiskSpace () , totalDiskSpace () , чтобы получить бесплатную и общую сумму дисковое пространство, соответственно, в байтах.
Пример использования:
QtMobility::QSystemStorageInfo sysStrgInfo;
QStringList drives = sysStrgInfo.logicalDrives();
foreach (QString drive, drives)
{
qDebug() << sysStrgInfo.availableDiskSpace(drive);
qDebug() << sysStrgInfo.totalDiskSpace(drive);
}
В этом примере печатается свободное и общее пространство в байтах для всех логических дисков в ОС. Не забудьте добавить QtMobility в файл проекта Qt:
CONFIG += mobility
MOBILITY += systeminfo
Я использовал эти методы в проекте, над которым я сейчас работаю, и он сработал для меня. Надеюсь, это кому-нибудь поможет!