我在 Qt 应用程序中使用 Marble C++,升级到 Marble 15.12 后,我无法更新地标样式。在 15.08 中,只需为 GeoDataIconStyle 设置新的图标路径,设置 GeoDataStyle 的新样式,然后通过 MapWidget 树模型更新 GeoDataPlacemark 即可。这将是更新图标之前的典型方式:
icon->setIcon( QImage("icon_path") );'
style->setIconStyle( *icon );
MarbleWidget->model()->treeModel()->updateFeature( placeMark );
将样式更改为反映当前 API 的 QSharedPointer 后,我尝试像以前一样更改图标。但是只有当当前的 MapWidget 视图通过鼠标平移移出地标范围时,图标才会改变。有谁知道可能是什么问题?
需要提到的一件事是油漆层不是我想要的,因为我需要这些地标是鼠标可点击的。非常感谢您的宝贵时间。