How can I set the default font size for all Qt5 apps?

QT_DEVICE_PIXEL_RATIO is deprecated since 5.4; instead, use QT_SCALE_FACTOR. I use it, setting it to 1.5, with good results (e.g., VirtualBox 5.1)


Updated:

Since Qt 5.6, Qt 5 applications can be instructed to honor screen DPI by setting the QT_AUTO_SCREEN_SCALE_FACTOR environment variable. If automatic detection of DPI does not produce the desired effect, scaling can be set manually per-screen (QT_SCREEN_SCALE_FACTORS) or globally (QT_SCALE_FACTOR). You can also use QT_FONT_DPI to adjust scaling of text.

Original:

You can try this recipe from the archwiki

Qt5 applications can often be run at higher dpi by setting the QT_DEVICE_PIXEL_RATIO environment variable. Note that the variable has to be set to a whole integer, so setting it to 1.5 will not work.

This can for instance be enabled by creating a file /etc/profile.d/qt-hidpi.sh

export QT_DEVICE_PIXEL_RATIO=2

And set the executable bit on it.


QT automatically scales the font based on the screen's DPI:

The traditional approach to supporting high DPI has been one where Qt scaled fonts automatically [...]

I had the problem that my screen has 166 dpi, but the font sizes chosen by Qt were much too large. Luckily, there is a way to tell Qt to assume a smaller value by setting QT_FONT_DPI. For me, 128 is nice.

(I'm using cinnamon as desktop environment, and it pushes the configured font sizes for Gtk 1:1 to Qt, which is what brings this issue)