I have the map canvas with the scale set at 1:3500. I've set exactly the same scale in the print layout.

Unfortunately, every time when I drag the main map canvas and use the option "Set map extent to match main canvas map extent" the scale changes to 1:3595 annoyingly.

enter image description here

It looks exactly as you can see above.

I know, that there is no synchronization as mentioned here: Synchronize QGIS layout map scale with canvas scale

I need the scale matching permanently to the main map canvas, analogically to this problem:

Map extent matching permanently main canvas extent

where the map canvas matching was raised.

Is it possible to see off this problem?

2 Answers 2


If you are always at a constant scale, you can set a data override for the map scale. After panning the map, set the map extent to match the main canvas extent. Of course, since both "screens" don't have the exact same size and you force the scale to be the same, the extent will end up being slightly different.

enter image description here

Alternatively, if the scale is to be different each time, you can set the extent then set the scale, but again forcing the same scale on differently sized items will affect the extent...

enter image description here


You are facing the decribed the problem since you are not defining the scale as a fixed one.In order to do so you should:

a) select in the map main properties to set the scale as a data defined override and choose edit

enter image description here

b) As a expresion set your desired scale. In this case I set that the scale of the map in the print layout to be 1:100,000

enter image description here

c) You will notice that, once the scale is defined as a data defined override, it does not matter the size of the box containing the map, it will be always the one you defined. You will notice that the icon of the scale data defined override will change as follows:

enter image description here

Hope it helps


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.