for (int i = 0; i < agvs.size(); i++) { if (agvs[i].getLoad()){ painter.drawPixmap(agvs[i].getCurrentX()*25+200-(nodeSpacing-nodeSize)/2,(agvs[i].getCurrentY()+1)*25+50-(nodeSpacing-nodeSize)/2,25,25,QPixmap(":/new/prefix1/agvload.png").scaled(25,25)); } else { painter.drawPixmap(agvs[i].getCurrentX()*25+200-(nodeSpacing-nodeSize)/2,(agvs[i].getCurrentY()+1)*25+50-(nodeSpacing-nodeSize)/2,25,25,QPixmap(":/new/prefix1/agv1.png").scaled(25,25)); }},將這個agv圖片置頂
时间: 2023-11-22 10:54:23 浏览: 195
如果您想要将 agv 图片置顶,可以使用 QPainter 的 setCompositionMode() 方法,并将其设置为 CompositionMode_SourceOver。这将确保在绘制时,新的图形将覆盖旧的图形。
下面是一个示例代码:
```
for (int i = 0; i < agvs.size(); i++) {
if (agvs[i].getLoad()){
painter.setCompositionMode(QPainter::CompositionMode_SourceOver);
painter.drawPixmap(agvs[i].getCurrentX()*25+200-(nodeSpacing-nodeSize)/2,(agvs[i].getCurrentY()+1)*25+50-(nodeSpacing-nodeSize)/2,25,25,QPixmap(":/new/prefix1/agvload.png").scaled(25,25));
} else {
painter.drawPixmap(agvs[i].getCurrentX()*25+200-(nodeSpacing-nodeSize)/2,(agvs[i].getCurrentY()+1)*25+50-(nodeSpacing-nodeSize)/2,25,25,QPixmap(":/new/prefix1/agv1.png").scaled(25,25));
}
}
```
在这段代码中,setCompositionMode() 方法被用来设置绘制模式。当绘制新的 agv 图片时,它将覆盖旧的图形。这样,新的图片就会置顶了。
阅读全文