【发布时间】:2013-07-24 11:32:22
【问题描述】:
我想使用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 计算机上生成上述结果。
【问题讨论】: