Resizing the map item in QGIS print composer without changing scale?

Update 27/07/2018: As of QGIS 3.2.1, my workaround below no longer works! If I find an alternative solution I will post here again. This is very, very annoying...


There is a way to do this.

  • In the Item properties tab for your map item, click on the black-and-yellow "data defined override" icon to the right of the "scale" box.
  • Click on "Edit".
  • In the "Expression" box, type your desired scale (for example, 50000) and hit OK.

The item's scale will now be fixed at 1:50000 and will remain so no matter how much you move or resize it.

Jyler's suggestion simply doesn't work (QGIS 2.6.0 Brighton) while I can only assume that Ardit either has the world's fastest PC and/or only works on very simple maps with a handful of layers. The automatic rescaling "feature" is incredibly annoying and I cannot imagine why the developers thought it was a good idea.


This function was not added to QGIS until version 2.2, so it's a surprisingly recent development. In the most recent version the print composer behaves a little bit more like what we're used to with graphics editors - simply hold shift while you resize your map frame.

If it's a great inconvenience you can upgrade, otherwise you'll have to deal with this frustration. Here is a blog post that provides an overview of print composer improvements in 2.2, as well as a list of additions slated for future releases.


You can type in the desired scale manually in the scale text box every time you change the paper size. This can be done in a split of a second and I wouldn't call it annoying as far as you don't change the paper size let's say more than 20 times.