大家好!
我遇到了将属性值传递给的C++
问题QML
。我的项目是桌面应用程序,必须在Windows
. 因此,在阅读文档后,我通过QML
使用Qt Location找到了最佳解决方案。我选择了OSM 插件。
一切正常,但我需要手动将缓存定位到自定义目录中。因此,我想将此类属性 ( cachePath
) 值从C++
代码传递到QML
.
部分 C++ 代码:
QQuickView *view = new QQuickView;
view->rootContext()->setContextProperty("cachePath", "C:/111/");
view->setSource(QUrl(QStringLiteral("qrc:/qml/OSMView.qml")));
QML 代码的重要部分:
Map
{
zoomLevel: 10
plugin: Plugin
{
name: "osm"
PluginParameter { name: "osm.mapping.highdpi_tiles"; value: true }
PluginParameter { name: "osm.mapping.offline.directory"; value: cachePath }
PluginParameter { name: "osm.mapping.cache.directory"; value: cachePath }
}
<... nevermind ...>
}
所以调试说一切都好,财产也通过了。但是在这个自定义目录中使用地图后没有新的图块。
但是,如果我手动输入value: "C:/111/"
- 一切正常,并且目录会补充新的缓存切片。
可能是什么问题呢?
感谢提前!