• 3400阅读
  • 2回复

[提问]怎么获取鼠标在图片上的坐标 [复制链接]

上一主题 下一主题
离线openlqh
 

只看楼主 倒序阅读 楼主  发表于: 2017-05-15
图片加载在 QLabel控件上。
重写了mousePressEvent,mouseReleaseEvent函数
但是用 pos()函数获取到的坐标点不对

void image::mousePressEvent(QMouseEvent *e)
{
setCursor(Qt::PointingHandCursor);
startPnt = e->pos();
endPnt = e->pos() ;
}
画出来的曲线和我鼠标点击的区域有差距。如果只是在窗口上用鼠标画图是正确的,但是在图片上画出来的坐标就不对了。
求指导。
离线大漠之鹰

只看该作者 1楼 发表于: 2017-05-15
图片是不是放缩了?有没有进行偏移计算啊
本是后山人,偶作前堂客,醉舞经阁半卷书,坐井说天阔。大志戏功名,海斗量福祸,论到囊中羞涩时,怒指乾坤错
QQ:874164244
离线openlqh

只看该作者 2楼 发表于: 2017-05-15
回 大漠之鹰 的帖子
大漠之鹰:图片是不是放缩了?有没有进行偏移计算啊 (2017-05-15 16:21) 

谢谢回复啊,已经解决了。
int iWidth = pLabel->width();
int iHeight = pLabel->height();
px = px.scaled(iWidth, iHeight,Qt::IgnoreAspectRatio, Qt::SmoothTransformation);

设置为QLabel的大小就可以了
快速回复
限100 字节
 
上一个 下一个