我想使用 绘制文本QPainter
,并且我想先使用QPainterPath
(因为最终我想以各种方式旋转文本)。但是,我发现由 生成的QPainterPath
文本比由 生成的文本丑得多QPainter
。
以下代码:
void MyWidget::paintEvent(QPaintEvent* /*event*/) {
QFont font;
font.setStyleHint(QFont::Times, QFont::PreferAntialias);
font.setPointSize(30);
QPainter painter;
painter.begin(this);
painter.setRenderHint(QPainter::Antialiasing);
painter.setBrush(Qt::black);
painter.setFont(font);
painter.drawText(10, 40, "Hello World");
QPainterPath textPath;
textPath.addText(10, 100, font, "Hello world");
painter.drawPath(textPath);
painter.end();
}
产生以下结果:
前者显然更干净、更好,尤其是在较小的字体中。我应该怎么做才能得到相同的结果QPainterPath
?
我正在使用 Qt 5.0 的 Windows 7 计算机上生成上述结果。