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

七小鹿(喵艺游) 七小鹿(喵艺游) 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
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();
}
}
...全文

相关推荐

评论
收藏 已收藏
分享
返回顶部