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

qt锁屏功能续

3
回复
7424
查看
[复制链接]

尚未签到

来源: 2013-6-5 17:11:18 显示全部楼层 |阅读模式
1Qter豆
为了实现屏保功能,我为主窗口安装了一个eventFilter(),监控鼠标是否在这界面移动,在判断鼠标类型时(event->type() == QEvent::###),我在###处,用了MouseMove,它要按住鼠标左键,滑动,才会响应事件, 用Move,程序一运行就崩溃,用,leave,Enter都一样的效果,我想问下用什么类型好
我就是监控鼠标是否在主界面移动,如果鼠标放在主界面没有移动,或不在主界面上,达到设置的时间时,就锁屏

最佳答案

查看完整内容

另外,遇到这种问题,可以自己测试一下找到原因和解决方法,一般也就是几分钟的事情 印象中我似乎也遇到过楼主说的现象,发现 QEvent::和印象中似乎不对,这时候自己一方面查查文档帮助一般就解决了,还不行的话写几句debug代码看看就清楚了
回复

使用道具 举报

尚未签到

2013-6-5 17:11:19 显示全部楼层
另外,遇到这种问题,可以自己测试一下找到原因和解决方法,一般也就是几分钟的事情

印象中我似乎也遇到过楼主说的现象,发现 QEvent::和印象中似乎不对,这时候自己一方面查查文档帮助一般就解决了,还不行的话写几句debug代码看看就清楚了
回复

使用道具 举报

尚未签到

2013-6-5 21:18:22 显示全部楼层
首先你得找到导致崩溃的原因和具体代码。。。
肯定代码有不对的地方,而不是key值使用不当

根据你描述的,试试:
    if (event->type() == QEvent::KeyPress)
    {
         ...;
    }
    if (event->type() == QEvent::HoverMove)
    {
        ...;
    }
回复

使用道具 举报

尚未签到

2013-6-6 09:36:17 显示全部楼层
谢谢,我找到了我崩溃的地方,是我事件过滤时,定时器还没有new出来,那是事件类型还是event->type() == QEvent::MouseMove,对哪个窗口就是设置鼠标跟踪事件(this->setMouseTracking(true));
回复

使用道具 举报

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

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