Adjusting format labelling view through map scale
Word of cartographic advice: Don't do this. Some things like house numbers (as in your example) are only meant to be displayed at large scales, not when zooming out. Everything else is bad practice, since it overloads and covers up the map, leads to colliding labels and is confusing in general.
As to your problem: In the image below you see the properties tab of a point layer.
Go to labeling
and in the text
sub-tab hit the rectangle with the triangles attached to it to the right of the size
field, choose edit
and enter the following:
CASE
WHEN @map_scale < 1000 THEN 10
WHEN (@map_scale >= 1000 AND @map_scale < 5000) THEN 8
WHEN (@map_scale >= 5000 AND @map_scale < 15000) THEN 6
ELSE 4
END
This is a basic example of how to create scale-dependent text size. Obviously it needs tweaking so it fits your needs.
You could set the label size to map unit or to meter at scale, with this setting the text size is linked to the map scale. Note that you may get too small or too big label to still be readable when you zoom in or out, if that's a problem @Erik answer using scale dependent text size may be better.