如何让QT的应用程序,不跟随系统的缩放行为
时间: 2024-04-13 11:30:49 浏览: 304
QT5解决win10高分辨率dpi应用程序缩放问题解决方案
3星 · 编辑精心推荐
要使QT应用程序不跟随系统的缩放行为,可以通过步骤实现:
. 在应用程序的窗口构造函数,使用`setAttribute(Qt::AA_DisableHighDpiScaling)`禁用高DPI缩放。这将阻止应用程序自动缩放。
```cpp
QApplication::setAttribute(Qt::AA_DisableHighDpiScaling);
```
2. 在应用程序的`main`函数中,使用`QApplication::setOverrideCursor`函数设置应用程序的全局缩放因子。
```cpp
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 设置全局缩放因子为1
a.setAttribute(Qt::AA_EnableHighDpiScaling, false);
a.setAttribute(Qt::AA_UseHighDpiPixmaps, true);
a.setOverrideCursor(QCursor(Qt::ArrowCursor));
// 其他初始化操作
return a.exec();
}
```
3. 在应用程序的`.pro`文件中添加以下行,以确保应用程序使用固定的布局大小:
```
QT += widgets
CONFIG += no_keywords
```
这样做将禁用应用程序的自动缩放行为,并使其保持固定的布局大小,不受系统缩放设置的影响。
阅读全文