• 6394阅读
  • 4回复

[提问]怎么判断鼠标在一个按钮上面?谢谢 [复制链接]

上一主题 下一主题
离线zsmdev
 
只看楼主 倒序阅读 楼主  发表于: 2011-10-20
怎么判断鼠标在一个按钮上面?
离线jorneyr

只看该作者 1楼 发表于: 2011-10-20
按钮有一个geormetry()函数返回按钮的位置与大小,再用rect::contains判断鼠标的位置在它里面就可以了。
判断的时候还需要用到mapFromGlobal函数来转坐标
离线kimtaikee

只看该作者 2楼 发表于: 2011-10-20
void MyButton::enterEvent(QEvent* e)
{
     emit sig_In();
     BaseButton::enterEvent(e);
}
void MyButton::leaveEvent(QEvent* e)
{
      emit sig_Out();
      BaseButton::leaveEvent(e);
}

离线roywillow

只看该作者 3楼 发表于: 2011-10-20
LS应该是个不错的解法
另外用eventFilter应该也挺方便
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线zsmdev
只看该作者 4楼 发表于: 2011-10-21
三种方法:
1、重载mousemoveevent事件,获得按钮的矩形区域,判断鼠标是否在区域内;
2、重载按钮控件;
3、用eventfilter,但是一个按钮可以,多个按钮就不行了。
谢谢各位
快速回复
限100 字节
 
上一个 下一个