I have a QGIS project with multiple layers and would like to prevent the user from easily renaming the layers in the layer tree.

Can I set this in the project's settings and if so, where/how?

  • 2
    Noone's answered this yet but as far as I know it's not possible. Would love to know how to work around it. I don't think a python macro would suffice... Maybe file a feature request github.com/qgis/QGIS/issues
    – she_weeds
    Jan 22 at 2:34

1 Answer 1


You could set the layer to "private", which will also hide it. That's the only option I've found here. under Project->Properties->Data sources

table with checked private column checkbox

but then its also gone from your catalog:

  • Thank you for the answer but the layer needs to stay visible in the layer tree, the user is even allowed to move it around or add fields to it. My question really is just about the name. Jan 25 at 14:58
  • I don't think there's an option for it then, QGIS is a workflow that is meant for people to do modification on maps and as such the user has full control over the environment. a full on-off switch would make sense, but fine-grained control is more for an untrusted user scenario, which QGIS was not made for.
    – Fee
    Jan 25 at 16:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.