QGis二次开发(Qt):如何控制图层显示和隐藏

4 篇文章 0 订阅

        网上资料很少,参考了一个文章,确实管用,见https://blog.csdn.net/IamChen/article/details/127740561,不过需要注意的是,使用文章中的方法,通过QgsLayerTreeView进行图层显隐控制有一个前提,就是在添加图层的时候,需要调用QgsProject的addMapLayer方法,不然treeview的model数据源是空的,就没法进行显隐的控制,图层添加到qgis工程的代码如下:

    if (!QgsProject::instance()->mapLayer(vLayer->id())) {
        QgsProject::instance()->addMapLayer(vLayer);
    }

        这里吐槽一下,Arcgis中控制图层就很方便,layer有setVisible这样的函数,很方便,qgis很多功能都是捆绑控件的,剥离出来很麻烦。当然,可能深入研究QGis源码的话,也能找到真正实现图层显隐的方法,但那样比较麻烦,源码又多。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值