仍然报错:Attribute Qt::AA_EnableHighDpiScaling must be set before QCoreApplication is created.
时间: 2024-03-25 11:41:23 浏览: 520
老软件兼容高DPI-需重启
如果您在 `QMainWindow` 类的构造函数中添加了 `QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling)`,但仍然收到相同的错误消息,则可能是因为您在 `main()` 函数中创建了一个 `QCoreApplication` 对象,而不是 `QApplication` 对象。
请注意,只有 `QApplication` 对象支持高 DPI 缩放,并且必须在 `QApplication` 对象创建之前启用 `Qt::AA_EnableHighDpiScaling` 属性。
因此,请确保您在 `main()` 函数中创建的是 `QApplication` 对象而不是 `QCoreApplication` 对象。例如:
```
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
// ...
return app.exec();
}
```
在上面的代码中,我们首先创建了一个 `QApplication` 对象,然后在设置 `Qt::AA_EnableHighDpiScaling` 属性之前启用了此属性。这应该可以解决您的问题。
阅读全文