繁体   English   中英

Qt6 无法抗锯齿自定义字体

[英]Qt6 fails to antialias custom font

当我使用带有自定义字体 (Open Sans) 的QLabel时,我得到了这个丑陋的结果:

在此处输入图像描述

您可以看到字母边缘周围的像素化。 这是同一.otf字体文件的高质量渲染(通过 Chrome):

在此处输入图像描述

并排比较:

在此处输入图像描述

并关闭:

在此处输入图像描述

当前代码:

int id = QFontDatabase::addApplicationFont(":/font/OpenSans/700.otf");
QString family = QFontDatabase::applicationFontFamilies(id).at(0);
QFont* OpenSans700 = new QFont(family);
OpenSans700->setStyleStrategy(QFont::PreferAntialias); // doesn't appear to do anything

QLabel* label = new QLabel("Welcome, Guest");
label->setFont(OpenSans700);

如何提高渲染质量使其看起来不像素化? 我已经搜索了 web 以寻找可能的解决方案,但没有任何效果。

  • 这不是我的.otf文件的问题,Chrome 能够完美地呈现它。
  • 我正在使用 qt 6.2.2
  • 我在 Windows 11
  • 我的屏幕尺寸是 2560x1440
  • 字体以 24px 呈现(其他尺寸无效)

字体提示用于“提高像素密度可能保证的显示的易读性”。 然而,它看起来并不漂亮。

禁用它:

OpenSans700->setHintingPreference(QFont::HintingPreference::PreferNoHinting)

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM