在drawPixmap图片依附QRect循环出3张图片,需要实现移动其中一张图片的Y坐标,问题是现在3张都动,来个大神给指点一下

七小鹿爱编程 2021-04-01 04:55:50
gamecarsRect = new QRect(0,50,50,110);
//connect(this,&Widget::mousePres_signals, this,&Widget::myslot);
}
void Widget::paintEvent(QPaintEvent *)
{ int x=0;
QPainter painter(this);
QPixmap pix;
pix.load("E:/qt/myqt/tupian/beijing.jpg");
painter.drawPixmap(0,0,this->width(),this->height(),pix);
QVector<QPixmap*>gamecars;
QPixmap *car_1=new QPixmap("E:/qt/myqt/tupian/1-1-1.jpg");
QPixmap *car_2=new QPixmap("E:/qt/myqt/tupian/1-3-1.jpg");
QPixmap *car_3=new QPixmap("E:/qt/myqt/tupian/1-5-1.jpg");
gamecars.push_back(car_1);
gamecars.push_back(car_2);
gamecars.push_back(car_3);
for (int i=0;i<gamecars.size();i++)
{x=x+50;
gamecarsRect->moveLeft(x);
painter.drawPixmap(*gamecarsRect,*gamecars[i]);
this->update();
}
//this->update();
}

void Widget::mousePressEvent(QMouseEvent *ev)
{ int x=ev->x();
int y=ev->y();
if(x>=50&&x<=100&&y>=50&&y<=160)
{
gamecarsRect->moveBottom(300);
qDebug()<<x<<"."<<y;
//emit mousePres_signals();
}
}
...全文
157 回复 打赏 收藏 举报
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复
发帖
Windows SDK/API
加入

1215

社区成员

C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
申请成为版主
帖子事件
创建了帖子
2021-04-01 04:55
社区公告
暂无公告