我有以下結構:
struct FileInfo {
QString fileName;
QString fileSize;
QString md5Sum;
};
是否可以將大約 30 個這樣的物件放入 QVariant 中,然后能夠遍歷 QVariant 以根據索引檢索其中一個結構,然后將物件轉換回結構并查詢該結構以獲取特定檔案的檔案大小? 有沒有更好的方法來解決我的問題?
uj5u.com熱心網友回復:
您可以考慮使用 QVariantList 將物件存盤為 QVariant。當然,您可以轉換回您的自定義結構。
例子。
struct FileInfo {
QString fileName;
QString fileSize;
QString md5sum;
};
int main()
{
QVariantList variantList;
for(int i = 0; i < 30; i ) {
FileInfo info{QString("File %1").arg(i), QString("size %1").arg(i), QString("md5sum %1").arg(i)};
QVariant var;
var.setValue(info);
variantList.append(var);
}
for (auto v: variantList) {
FileInfo f = v.value<FileInfo>();
qDebug() << "File name: " << f.fileName << "\tfile size: " << f.fileSize;
}
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/429962.html
