QT 自适应window11系统缩放
时间: 2023-11-18 11:56:50 浏览: 250
QT下实现图片的自适应显示、缩放(以鼠标位置为中心进行缩放)、拖动、以及重置并截图保存
5星 · 资源好评率100%
如果你的 QT 应用程序在 Windows 11 上没有正确缩放,可以尝试以下方法:
1. 使用 QT 的高 DPI 功能。在应用程序的 main 函数中添加以下代码:
```
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
```
2. 将 QT 应用程序的 manifest 文件中的 DPIAware 属性设置为 true。在 QT 应用程序的 .pro 文件中添加以下代码:
```
win32: CONFIG += manifest
```
然后在 QT 应用程序的资源文件中添加一个 manifest 文件,内容如下:
```
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
<!-- Windows 8.1 -->
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
<!-- Windows 8 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
<!-- Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
</application>
</compatibility>
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
</windowsSettings>
</application>
</assembly>
```
3. 使用 QT 的 QWindowsVistaStyle 样式。在应用程序的 main 函数中添加以下代码:
```
QApplication::setStyle(new QWindowsVistaStyle);
```
这些方法中的任何一种都可能解决 QT 应用程序在 Windows 11 上的缩放问题。
阅读全文