Qt过滤鼠标按下

时间:2016-10-05 07:38:32

标签: c++ multithreading qt eventfilter

我正在为带有触摸屏的qt4.8的嵌入式linux设备编写软件。

目前我遇到的问题是触摸屏对触摸过于敏感,我会立刻在屏幕上触摸2次。

我想要做的是在一段时间之后过滤掉第一次之后的任何接触。

到目前为止,我已经安装了eventfilter并监听鼠标事件:

qApp->installEventFilter(this);

...

bool MainWindow::eventFilter(QObject *obj, QEvent *event)
{
  switch(event->type()){
    case QEvent::MouseButtonPress:{
      if(timer.isActive()) return true;
      timer.start();
    }
  }

我遇到的问题是,当我在应用程序中的页面/菜单之间移动时,GUI会滞后并阻塞系统的时间超过我的计时器。因此,当页面最终加载时,此时我的计时器已完成并且第二次不需要的鼠标按下处理...

有更好的方法吗?在加载新页面/菜单后发出信号以触发时间?线程化eventfilter以处理不同线程中的鼠标按压?

谢谢。

0 个答案:

没有答案