QGraphicsSimpleTextItem抗锯齿不起作用

时间:2016-09-01 07:46:13

标签: c++ qt

我将文本设置为QGraphicsSimpleTextItem中的QGraphicsItem,并且文本抗锯齿功能似乎无效或工作非常糟糕。我试着设置

font.setStyleStrategy(QFont::StyleStrategy::PreferAntialias);

并有覆盖

void MyClass::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget)
{
    painter->setRenderHints(painter->renderHints() | QPainter::Antialiasing | QPainter::TextAntialiasing | QPainter::HighQualityAntialiasing);
    QGraphicsItem::paint(painter, option, widget);
}

但文字仍然相同。

enter image description here

1 个答案:

答案 0 :(得分:1)

我的paint()功能是在 OpenGL 的帮助下完成的。我刚刚创建了表面格式而没有支持多重采样用于抗锯齿。我不得不写:

QSurfaceFormat sf = QSurfaceFormat::defaultFormat();
sf.setSamples(4);