我需要使用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);
...我得到了我需要的模式,但这条线看起来很“脏”:一些破折号似乎比其他划线有更多的权重:

只有当我不使用setWidthF(),或者在setWidthF(1.0)中使用它时,这些行才看起来干净而均匀。但是如果我增加一点宽度,线条就会损坏。有没有可能得到整洁和均匀的线条和自定义的破折号和任意宽度?
发布于 2018-01-06 19:11:03
找到解决方案。这都是关于抗锯齿的。
使用:
painter->setRenderHint(QPainter::Antialiasing)解决了问题。
https://stackoverflow.com/questions/48116341
复制相似问题