• 10118阅读
  • 6回复

请教如何屏蔽鼠标事件,注意是屏蔽,就是不接收而不是接收不处理 [复制链接]

上一主题 下一主题
离线nikshuang
 

只看楼主 倒序阅读 楼主  发表于: 2009-12-02
RT ,   我用QWebView创建了一个没有标题框的浏览器窗体,窗体上没有标题框,只有一个QWebView。现在想在鼠标点击QWebView的上部区域的时候实现窗体拖动,很自然就想到实现mouseMoveEvent,但这有个问题,窗体拖动是解决了,但如果QWebView加载的网页中用到鼠标移动事件(比如鼠标移动到页面上的某个区域鼠标形状换小手)就没有了,因为鼠标移动事件已经被QWebView捕获过了。

我想两个解决方法:1、在需要的时候(也就是鼠标移动到QWebView的上部固定区域的时候)才开始捕获鼠标事件,当不需要的时候程序能屏蔽鼠标事件。
                                    2、在QWebView窗体上画出一块透明的区域,只在那个区域才实现mouseMoveEvent方法。

请问高手们,上面哪种方法能实现,方法是什么,很急,qt论坛实在不多,请高手帮忙看看吧
离线dbzhang800

只看该作者 1楼 发表于: 2009-12-02
不清楚 installEventFilter  能不能满足你要求
离线nikshuang

只看该作者 2楼 发表于: 2009-12-02
只能试试看了,谢谢楼上
离线nikshuang

只看该作者 3楼 发表于: 2009-12-03
顶起来
离线sbtree
只看该作者 4楼 发表于: 2009-12-03
在mouseMoveEvent函数中判断鼠标位置,在不符合要求的地方调用基类(或父类)的mouseMoveEvent
[ 此帖被sbtree在2009-12-03 15:58重新编辑 ]
windows 7 + VC++2008 + Qt4.5.2
离线donixli1314

只看该作者 5楼 发表于: 2009-12-04
怎么会有广告!
离线benbenmajia

只看该作者 6楼 发表于: 2009-12-04
强烈要求清理出去
安然.....
快速回复
限100 字节
 
上一个 下一个