KeepSmile_xcl 2017-05-23 02:33 采纳率: 0%
浏览 3478
已结题

Qt QPainter 使用drawLines绘制有问题

使用drawLines绘制的时候会出现下面这种情况
图片说明
现在想弄成这样
图片说明
下面的不是使用drawLines绘制的 是使用drawPath绘制的 但是使用drawPath绘制的话在开启抗锯齿的时候效率很低
哪位大牛能提出个好建议 谢谢啦
这是我的绘制代码
QPen pen;
pen.setStyle(Qt::SolidLine);
pen.setWidth(m_nLineWidth);
pen.setJoinStyle(Qt::RoundJoin);
pen.setCapStyle(Qt::RoundCap);
QColor color(m_colorLeft);
color.setAlpha(m_alpha);
//p.setOpacity(0.5);
pen.setColor(color);
p.setPen(pen);
p.setBrush(QBrush(Qt::NoBrush));

if(open){
    p.setRenderHint(QPainter::Antialiasing,true);

}


QPoint tmp=m_arrPoints.first();
QVector<QLine> m_line;
foreach (QPoint point, m_arrPoints) {
    QLine line(tmp,point);
    m_line.push_back(line);
    tmp = point;
}
p.drawLines(m_line);
  • 写回答

1条回答 默认 最新

  • 不滅酱 2021-08-26 09:57
    关注

    你的color设置了透明度吗,如果透明度低于100%,则绘画线段的端点会被加重颜色,因为被经过两次

    评论

报告相同问题?

悬赏问题

  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符