QPen 中的自定义破折号样式看起来很脏
Custom dash style in QPen looking dirty
我需要使用 QPen
在 Qt 中绘制虚线,并且我想使用 QPen::setDashPattern():
设置自定义虚线模式
QPen pen;
pen.setColor(Qt::black);
QVector<qreal> dashes;
dashes << 1.0 << 8.0;
pen.setDashPattern(dashes);
pen.setCapStyle(Qt::RoundCap);
pen.setWidthF(1.02);
painter->setPen(pen);
...
我得到了我需要的模式,但线条看起来 "dirty":一些破折号似乎比其他破折号更重一些:
只有当我不使用 setWidthF() 或将它与 setWidthF(1.0) 一起使用时,线条才看起来干净均匀。但如果我稍微增加宽度,线条就会变质。是否可以使用自定义破折号和任意宽度获得干净均匀的线条?
已找到解决方案。这都是关于抗锯齿的。
使用:
painter->setRenderHint(QPainter::Antialiasing)
解决问题。
我需要使用 QPen
在 Qt 中绘制虚线,并且我想使用 QPen::setDashPattern():
QPen pen;
pen.setColor(Qt::black);
QVector<qreal> dashes;
dashes << 1.0 << 8.0;
pen.setDashPattern(dashes);
pen.setCapStyle(Qt::RoundCap);
pen.setWidthF(1.02);
painter->setPen(pen);
...
我得到了我需要的模式,但线条看起来 "dirty":一些破折号似乎比其他破折号更重一些:
只有当我不使用 setWidthF() 或将它与 setWidthF(1.0) 一起使用时,线条才看起来干净均匀。但如果我稍微增加宽度,线条就会变质。是否可以使用自定义破折号和任意宽度获得干净均匀的线条?
已找到解决方案。这都是关于抗锯齿的。
使用:
painter->setRenderHint(QPainter::Antialiasing)
解决问题。