QT C++传递 map 给qml 中访问的两种方式
QVariantMap 和 QVariantList的两种方式
假设有一个map{"AAA", "aaa"}, {"BBB", "bbb"}, {"CCC", "ccc"},要把这个map从c++端传入到qml中。
1.QVariantList方式
C++端构造数据给qml
std::map<QString, QString> myMap = {{"AAA", "aaa"}, {"BBB", "bbb"}, {"CCC", "ccc"}};
QVariantList list;
for (const auto& pair : myMap) {QVariantMap mapEntry;mapEntry["key"] = pair.first;mapEntry["value"] = pair.second;list.append(mapEntry);
}
emit mapParam(list);
qml 端处理map
function onMapParam(list) {console.log("list:", list)for (var i = 0;