• 6558阅读
  • 3回复

qt怎样检测屏幕有没有鼠标在动? [复制链接]

上一主题 下一主题
离线zzxap
 

只看楼主 倒序阅读 楼主  发表于: 2011-04-06
如果鼠标不动了,1分钟后自动隐藏某个widget


关键是这个检测用什么事件?
离线sbtree
只看该作者 1楼 发表于: 2011-04-06
MouseMoveEvent
设定计时器1分钟,在该事件中重新启动计时器,程序开始的地方把计时器超时信号和隐藏widget的槽连接就可以了
windows 7 + VC++2008 + Qt4.5.2
离线roywillow

只看该作者 2楼 发表于: 2011-04-08
如果只是检测窗口内部的鼠标移动,把这个窗口setMouseTracking,设定一个1分钟Timer,并关联槽,在mouseMoveEvent里不断重启这个定时器应该就可以了
如果要检测整个屏幕的鼠标移动……我曾经是用一个Timer不断用QCusor的某个静态函数获取鼠标位置来判断鼠标是否移动
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线小怪兽
只看该作者 3楼 发表于: 2011-04-08
可以考虑针对windows平台使用QWidget::winEvent(),linux平台使用QWidget::x11Event()
快速回复
限100 字节
 
上一个 下一个