Thật không may, không có gì được tích hợp vào Qt cho việc này. Bạn phải làm điều này cho mỗi nền tảng.
Dưới đây là một số mẫu để giúp bạn bắt đầu. Tôi đã phải thực hiện điều này trong một trong các ứng dụng của tôi chỉ tuần trước. Mã dưới đây vẫn còn rất nhiều trong phát triển; có thể có lỗi hoặc rò rỉ, nhưng ít nhất nó có thể hướng bạn đi đúng hướng. Tôi chỉ quan tâm đến tổng số RAM vật lý, nhưng các giá trị khác có sẵn theo cùng một cách. (Ngoại trừ có lẽ bộ nhớ được sử dụng bởi các ứng dụng hiện tại ... không chắc chắn về điều đó.)
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();
Nguồn
2011-11-14 14:32:50
http://stackoverflow.com/questions/27201876/memory-management-issue-with-deleting-qquickview-in-qt5-3mingw32/27203897#27203897 – dtech