• 5856阅读
  • 3回复

[讨论]求能响应窗口所有触摸动作的方法 [复制链接]

上一主题 下一主题
离线meiky
 
只看楼主 倒序阅读 楼主  发表于: 2011-01-13
各位好,
  我用QT3触摸屏想实现待机一段时间后自动关闭LCD背光,那我需要程序能响应所有的触摸动作,我主窗口是frmMain,重写event()后能响应主窗口中在无控件地方的动作,但在按键或者下拉菜单等控件操作时无响应,请问如何做才能在所有地方触摸都能响应动作??
只看该作者 1楼 发表于: 2011-01-13
建一个QWidget,初始将这个QWidget设为一个点大小,并将其raise()到窗口最上层,show()出来。
在关闭LCD背光后,将这个QWidget大小设为LCD屏大小,这样就覆盖了窗口中其他组件。此时点击触摸屏任意处,应该都会触发这个QWidget的event了。
然后重新实现这个QWidget的event。
当然还要考虑在没关闭LCD背光时点击到这个QWidget点的情况。

也可以一开始就将QWidget设为LCD屏大小,没关LCD背光时hide掉,关闭LCD背光后在show出来。

注:以上只是想法,没实践过,不知是否可行。只接触过QT4的人飘过~~~~
离线meiky
只看该作者 2楼 发表于: 2011-01-13
谢谢楼上的回答,这个方法我也想到,可这是在关闭背光后才能做的。在背光开着的时候,我需要计时触摸屏多久没有动作,若有动作则计时器清零,重新计时,这时候就不能在背光开着的时候将一个widget全屏。
只看该作者 3楼 发表于: 2011-01-13
哦,原来是这样,看来还是实践才能出真知啊。。。。
最近我在看那本《C++ GUI Qt4 编程》,我瞄到第七章《事件处理》的第二节《安装事件过滤器》,我感觉这节内容能解决你的问题,你可以看看。这部书应该可以下到电子版。
快速回复
限100 字节
 
上一个 下一个