Ich weiß, dass diese Die Frage ist schon ziemlich alt, aber ich habe stackoverflow gesucht und festgestellt, dass niemand eine Lösung dafür hat, also habe ich mich entschieden zu posten.
Es gibt QSystemStorageInfo Klasse in QtMobility, es bietet plattformübergreifende Art und Weise Informationen über logische Laufwerke zu bekommen. Zum Beispiel: logicalDrives() kehrt Liste von Pfaden, die Sie als Parameter für andere Methoden verwenden: availableDiskSpace(), totalDiskSpace() zu freiem und gesamten Auto Raum dementsprechend in Bytes zu erhalten.
Anwendungsbeispiel:
QtMobility::QSystemStorageInfo sysStrgInfo;
QStringList drives = sysStrgInfo.logicalDrives();
foreach (QString drive, drives)
{
qDebug() << sysStrgInfo.availableDiskSpace(drive);
qDebug() << sysStrgInfo.totalDiskSpace(drive);
}
Dieses Beispiel druckt freien und gesamten Raum in Bytes für alle logischen Laufwerke in OS. Vergessen Sie nicht, QtMobility in Qt Projektdatei hinzuzufügen:
CONFIG += mobility
MOBILITY += systeminfo
ich verwendet, um diese Methoden in einem Projekt arbeite ich jetzt auf und es funktionierte für mich. Ich hoffe, es wird jemandem helfen!
es in QT 5.5 docs kopiert saugen und verwenden Sie den Windows-API, Ungeheuerlichkeit, dass es ist. – JimDaniel
Sieht so aus, als ob ich die Linux-Version auf der Straße erledigen muss. Freude. – dwj
Es gibt immer [APR] (https://apr.apache.org/). –