我在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视图通过使用鼠标平移移出地标范围时,图标才会更改。有没有人知道可能是什么问题?
有一点要提到的是油漆层不是我想要的,因为我需要这些地标可以点击鼠标。非常感谢你的时间。