找回密码
 立即注册
收起左侧

关于子控键的接收鼠标移动事件

2
回复
7989
查看
[复制链接]
累计签到:7 天
连续签到:1 天
来源: 2016-4-6 23:26:09 显示全部楼层 |阅读模式
1Qter豆
各位大侠,请教。事情是这样的,在一个窗口的子控件上安装了事件过滤器。捕获鼠标移动到控件上的事件。用mousemove或者enter都可以。现在出现了问题,先在窗口的其他地方按住左键,然后移动到控件上,这种情况捕获不道。大神们有什么好的解决方法?

回复

使用道具 举报

累计签到:344 天
连续签到:1 天
2016-4-7 14:29:01 显示全部楼层
你的问题是焦点在别的窗口上了。你可以起个定时器,不断将焦点重新控制在你那个控件上的窗口上,这样应该就可以捕获到了。
回复

使用道具 举报

累计签到:7 天
连续签到:1 天
2016-8-1 17:19:44 显示全部楼层
这个好像不好处理;
你在其它地方按住左键后不放开,
事件过滤会一直处理你在该控件的事件,即使你把鼠标移动到其它位置,它还是处理之前控件的事件;
比如,A,B两个按钮,AB两按钮鼠标悬浮都会有蓝色边框(默认样式),你按住A按钮,然后移动到B按钮上面,B按钮是不会有鼠标悬浮的样式的;这个是QT处理的方式;

你要么在控件上一层,即Dialog上做mouseMove事件,当鼠标移动到你控件的位置,触发你控件的事件。会比较复杂点
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了