Improving support for higher DPI on Vista

Published Friday June 26th, 2009
3 Comments on Improving support for higher DPI on Vista
Posted in Qt, Styles

I did some work this week on a task related to higher DPI values on Vista. The task was essentially about scaling artifacts related to checkboxes, radio buttons and menus. However after fixing up those I decided that we needed a little more to really work properly on Vista and Windows 7 and realized that there were still quite a few hard-coded pixel metrics in the current styling API that really should depend on DPI as well. So after adjusting those metrics, most Qt apps should now look a lot nicer at higher DPI values. The fixes will also directly benefit similar functionality on Mac, once this gets properly supported by Apple.

Here are some screenshots showing noticable improvements in 4.6 vs 4.5 at a moderate scale size of 1.25:

dpi1.png

With the improved DPI-scaled metrics this is what it should look like in 4.6:

dpi2.png

No radical change in this case, but it certainly looks more polished than the old one. At very high DPI scaling values (1.5 and up) Windows Vista defaults to showing applications in a compatibility friendly, but rather fuzzy scaled mode. In 4.6 we plan to make applications scale properly by default. Unfortunately existing applications are likely to have pixel-based assumptions, so the only real way to ensure that your app will look correct is to try it out.

dpi45.png

And again, this is how things should look with 4.6:

dpi46.png

Do you like this? Share it
Share on LinkedInGoogle+Share on FacebookTweet about this on Twitter

Posted in Qt, Styles

3 comments

Eritak Matias says:

Amazing !
Is very nice to see windows love !

Thanks !

Scorp1us says:

“Little things” like this are bigger than you imagine. Thanks for the attention to detail!

(And those who make pixel assumptions deserve what they get!)

Philippe says:

I second Scorp1us, attention to details is important. I favour quality of features over quantity.

Commenting closed.

Get started today with Qt Download now