QCoreApplication::setAttribute(Qt::AA_DisableHighDpiScaling);QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); 用于设置 Qt 应用程序的高 DPI 缩放行为。

  • Qt::AA_DisableHighDpiScaling 禁用高 DPI 缩放,应用程序将以原始的像素单位进行渲染和布局。这在某些情况下可能是有用的,例如在使用低分辨率显示器或需要精确控制像素的情况下。

  • Qt::AA_EnableHighDpiScaling 启用高 DPI 缩放,应用程序将根据系统的 DPI 进行自适应缩放,以在高分辨率显示器上显示更好的效果。这是在大多数情况下推荐的选项。

要在不添加到 main 函数下使用这些属性,可以在应用程序的构造函数中设置它们。例如:

#include <QCoreApplication>

class MyApplication : public QCoreApplication
{
public:
    MyApplication(int &argc, char **argv) : QCoreApplication(argc, argv)
    {
        setAttribute(Qt::AA_EnableHighDpiScaling);
        // 或者 setAttribute(Qt::AA_DisableHighDpiScaling);
    }
};

int main(int argc, char *argv[])
{
    MyApplication app(argc, argv);

    // 执行应用程序的逻辑

    return app.exec();
}

在这个例子中,自定义的 MyApplication 类继承自 QCoreApplication,并在构造函数中设置了高 DPI 缩放属性。然后在 main 函数中创建了 MyApplication 实例并执行应用程序的逻辑。

Qt 应用程序中高 DPI 缩放的设置技巧:在构造函数中设置 Qt::AA_DisableHighDpiScaling 和 Qt::AA_EnableHighDpiScaling

原文地址: https://www.cveoy.top/t/topic/pWO2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录