我正在编写一个从3只老鼠那里获取输入的应用程序。 2只小鼠用于手势,它们的输入分开处理,第3只应该正常运行。 我已成功安装了一个eventfilter(见下文),它运行我自己的鼠标处理代码( processMouse())。
但是,当试图让过滤器忽略某些鼠标的事件时(由 processMouse()的布尔返回值确定),什么都不会被忽略。
我尝试使用正常的true / false返回值,将事件重置为“None”事件,调用它的ignore函数,但即使我告诉它忽略该事件,鼠标仍然保持移动。
bool MainWindow::eventFilter(QObject *obj, QEvent *event){
if ((event->type() == QEvent::MouseMove) ||
(event->type() == QEvent::MouseButtonPress)){
if (configured){
if (!processMouse()){
//event->ignore();
//event = new QEvent(QEvent::None);
}
}
return true;
}
return false;
}
我如何有选择地忽略来自eventfilter的MouseMove事件?
答案 0 :(得分:2)
这最终通过使用名为“ManyMouse”的第三方库来解决,该库分别接收每个鼠标的输入。