如何在win xp / 10中获得用户的DPI等级?

时间:2017-06-07 12:38:18

标签: c++ windows qt dpi

我试过了:

QApplication::setAttribute (Qt::AA_EnableHighDpiScaling, true);  

这很糟糕。如果用户比例<150%则将比例设置为x1,如果比例为&gt;则将比例设置为x2。 150%。

QApp->devicePixelRatio(); 

类似地工作:返回1或2。

我需要:

If the custom user scale = 100%, then the scale of the interface is 100%  
If the custom user scale = 125%, then the scale of the interface is 125%  
If the custom user scale = 175%, then the scale of the interface is 175%  

我试过了:

Qputenv ("QT_SCALE_FACTOR", QByteArray ("1.75"));

它工作得很好!这就是我需要的东西 但为此,我需要在创建QApplication之前了解自定义比例。怎么弄? 该解决方案适用于从win xp到win 10的所有系统

App Manifest:

<asmv3:application>
  <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
    <dpiAware>True/PM</dpiAware>
  </asmv3:windowsSettings>
</asmv3:application>

0 个答案:

没有答案