Qt 应用程序中高 DPI 缩放的设置技巧:在构造函数中设置 Qt::AA_DisableHighDpiScaling 和 Qt::AA_EnableHighDpiScaling
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 实例并执行应用程序的逻辑。
原文地址: https://www.cveoy.top/t/topic/pWO2 著作权归作者所有。请勿转载和采集!