painter.drawPixmap(agvs[i].current_x*25+200-(agv_size-nodeSize)/2,(agvs[i].current_y+1)*25+50-(agv_size-nodeSize)/2,agv_size,agv_size,QPixmap(":/new/prefix1/agvload.png").scaled(25,25));,修改爲在agv上方,輸出字“Loading”
时间: 2024-03-13 10:45:24 浏览: 13
可以这样修改代码:
```
QPixmap agvPixmap(":/new/prefix1/agvload.png");
QPainter painter(this);
painter.drawPixmap(agvs[i].current_x*25+200-(agv_size-nodeSize)/2,(agvs[i].current_y+1)*25+50-(agv_size-nodeSize)/2,agv_size,agv_size,agvPixmap.scaled(25,25));
painter.drawText(agvs[i].current_x*25+200-(agv_size-nodeSize)/2,(agvs[i].current_y+1)*25+50-agv_size,"Loading");
```
这样修改后,会在 AGV 上方输出文本 "Loading"。
相关问题
{ painter.drawPixmap(agvs[i].current_x*25+200-(agv_size-nodeSize)/2,(agvs[i].current_y+1)*25+50-(agv_size-nodeSize)/2,agv_size,agv_size,QPixmap(":/new/prefix1/agv1.png").scaled(25,25)); },修改代碼,agv會根據agv的角度選擇
根据 AGV 的角度选择不同的图片可以通过修改 `QPixmap` 的路径来实现,例如:
```
if (agvs[i].current_orientation == "up") {
painter.drawPixmap(agvs[i].current_x*25+200-(agv_size-nodeSize)/2,(agvs[i].current_y+1)*25+50-(agv_size-nodeSize)/2,agv_size,agv_size,QPixmap(":/new/prefix1/agv1_up.png").scaled(25,25));
} else if (agvs[i].current_orientation == "down") {
painter.drawPixmap(agvs[i].current_x*25+200-(agv_size-nodeSize)/2,(agvs[i].current_y+1)*25+50-(agv_size-nodeSize)/2,agv_size,agv_size,QPixmap(":/new/prefix1/agv1_down.png").scaled(25,25));
} else if (agvs[i].current_orientation == "left") {
painter.drawPixmap(agvs[i].current_x*25+200-(agv_size-nodeSize)/2,(agvs[i].current_y+1)*25+50-(agv_size-nodeSize)/2,agv_size,agv_size,QPixmap(":/new/prefix1/agv1_left.png").scaled(25,25));
} else if (agvs[i].current_orientation == "right") {
painter.drawPixmap(agvs[i].current_x*25+200-(agv_size-nodeSize)/2,(agvs[i].current_y+1)*25+50-(agv_size-nodeSize)/2,agv_size,agv_size,QPixmap(":/new/prefix1/agv1_right.png").scaled(25,25));
}
```
其中 `agvs[i].current_orientation` 表示 AGV 的角度,根据不同的角度选择不同的图片。需要在 `:/new/prefix1/` 目录下添加对应的图片文件,例如 `agv1_up.png`、`agv1_down.png`、`agv1_left.png`、`agv1_right.png` 等。
QPainter painter(this); painter.drawPixmap(agvs[i].current_x*25+200-(agv_size-nodeSize)/2,(agvs[i].current_y+1)*25+50-(agv_size-nodeSize)/2,agv_size,agv_size,scaled(25,25)); painter.drawText(agvs[i].current_x*25+200-(agv_size-nodeSize)/2,(agvs[i].current_y+1)*25+50-agv_size,"Loading");,報錯修改
抱歉,我在上一个回答中的代码出现了错误。应该是这样修改:
```
QPixmap agvPixmap(":/new/prefix1/agvload.png");
QPainter painter(this);
painter.drawPixmap(agvs[i].current_x*25+200-(agv_size-nodeSize)/2,(agvs[i].current_y+1)*25+50-(agv_size-nodeSize)/2,agvPixmap.scaled(agv_size, agv_size));
painter.drawText(agvs[i].current_x*25+200-(agv_size-nodeSize)/2,(agvs[i].current_y+1)*25+50-agv_size,"Loading");
```
这样修改后,会在 AGV 上方输出文本 "Loading",并且 AGV 图片也会按照指定的大小进行缩放。