Sfortunatamente, non c'è nulla di costruito in Qt per questo. Devi fare questo per piattaforma.
Ecco alcuni esempi per iniziare. Ho dovuto implementarlo in una delle mie app la scorsa settimana. Il codice sotto è ancora molto in sviluppo; ci possono essere errori o perdite, ma potrebbe almeno indirizzarti nella direzione corretta. Mi interessava solo la RAM fisica totale, ma gli altri valori sono disponibili allo stesso modo. (Tranne forse memoria in uso dall'applicazione corrente ... non sono sicuro di quello.)
di Windows (GlobalMemoryStatusEx)
MEMORYSTATUSEX memory_status;
ZeroMemory(&memory_status, sizeof(MEMORYSTATUSEX));
memory_status.dwLength = sizeof(MEMORYSTATUSEX);
if (GlobalMemoryStatusEx(&memory_status)) {
system_info.append(
QString("RAM: %1 MB")
.arg(memory_status.ullTotalPhys/(1024 * 1024)));
} else {
system_info.append("Unknown RAM");
}
Linux (/ proc/meminfo)
QProcess p;
p.start("awk", QStringList() << "/MemTotal/ { print $2 }" << "/proc/meminfo");
p.waitForFinished();
QString memory = p.readAllStandardOutput();
system_info.append(QString("; RAM: %1 MB").arg(memory.toLong()/1024));
p.close();
Mac (sysctl)
QProcess p;
p.start("sysctl", QStringList() << "kern.version" << "hw.physmem");
p.waitForFinished();
QString system_info = p.readAllStandardOutput();
p.close();
fonte
2011-11-14 14:32:50
http://stackoverflow.com/questions/27201876/memory-management-issue-with-deleting-qquickview-in-qt5-3mingw32/27203897#27203897 – dtech