【发布时间】:2016-10-19 01:11:19
【问题描述】:
当我尝试使用 QPainter::drawText() 绘制文本时,文本没有抗锯齿(与 MS word 相比)
void TextLabel::paintEvent(QPaintEvent*) {
QPainter p(this);
p.setRenderHint(QPainter::TextAntialiasing);
QFont font;
font.setFamily("Roboto medium");
font.setPointSize(32);
font.setStyleHint(QFont::Helvetica, QFont::PreferAntialias);
p.setPen(_brush);
p.setFont(font);
p.drawText(rect(), Qt::AlignLeft , _text);
}
Qt 文档说:
QPainter::TextAntialiasing -> 表示引擎应该对文本进行抗锯齿如果可能
这不可能吗? 我该怎么办?
一个字:
Qt 之一:
【问题讨论】:
-
我不确定 Qt 是否真的是请求的字体。您可能需要检查“Roboto medium”是否已加载。
-
@JeffreyvandeGlind 。已经用“Times New Roman”测试过,但同样奇怪的问题:(
-
我没想到更改字体会有所不同,我只是想指出您的程序中可能存在的未被注意的问题。
-
@JeffreyvandeGlind 这只是一个简单的绘画。还有 qDebug()
-
可以查看是否在
QFontDatabase