for (int i = 0; i < agvs.size(); i++) { if (agvs[i].getState()){ painter.drawPixmap(agvs[i].current_x*25+200-(nodeSpacing-nodeSize)/2,(agvs[i].current_y+1)*25+50-(nodeSpacing-nodeSize)/2,25,25,QPixmap(":/new/prefix1/agvload.png").scaled(25,25)); } else { painter.drawPixmap(agvs[i].current_x*25+200-(nodeSpacing-nodeSize)/2,(agvs[i].current_y+1)*25+50-(nodeSpacing-nodeSize)/2,25,25,QPixmap(":/new/prefix1/agv1.png").scaled(25,25)); } ,添加代碼,循環説所有gv,根據agv的id在agv繪製圖片的右上角繪製id
时间: 2024-02-23 14:59:35 浏览: 58
你可以在上述代码的基础上添加如下代码来实现:
```
for (int i = 0; i < agvs.size(); i++) {
if (agvs[i].getState()) {
painter.drawPixmap(agvs[i].current_x*25+200-(nodeSpacing-nodeSize)/2,(agvs[i].current_y+1)*25+50-(nodeSpacing-nodeSize)/2,25,25,QPixmap(":/new/prefix1/agvload.png").scaled(25,25));
}
else {
painter.drawPixmap(agvs[i].current_x*25+200-(nodeSpacing-nodeSize)/2,(agvs[i].current_y+1)*25+50-(nodeSpacing-nodeSize)/2,25,25,QPixmap(":/new/prefix1/agv1.png").scaled(25,25));
}
QString agv_id = QString::number(agvs[i].getId()); // 获取当前 agv 的 id
QFont font("Arial", 8); // 设置字体和大小
QRectF textRect(agvs[i].current_x*25+200-(nodeSpacing-nodeSize)/2 + 15, (agvs[i].current_y+1)*25+50-(nodeSpacing-nodeSize)/2, 20, 10); // 设置文本框位置和大小
painter.setFont(font);
painter.drawText(textRect,Qt::AlignCenter,agv_id); // 绘制文本
}
```
这段代码会在绘制 agv 图片的右上角绘制 agv 的 id。
阅读全文