Qt 获取Windows缩放系数

QScreen 有个自带的函数logicalDotsPerInch可以获取当前的DPI,但是我在Windows10系统上进行了测试,每次运行时结果都是96(无论程序运行前DPI设置成125%还是200%)。

 

后来发现windows有一个自带的API在windows10 系统上有效,可以获取当前屏幕的DPI

 

HDC hd = GetDC(NULL);   
int horDPI = GetDeviceCaps(hd, LOGPIXELSX);    
int verticalDPI = GetDeviceCaps(hd, LOGPIXELSY);

打印出来的结果会因每次程序运行前DPI设置的不同而不同,而且我的电脑上获取到的DPI也不是网上说的对照关系,不过没关系,100%的缩放比例时,DPI基准值是一样的,都是96,后面获取到的值和96做比较就知道大概的放大倍数了

你可能感兴趣的:(Qt)