如何从后台运行的应用程序中获取鼠标按下的位置(因此它没有焦点)?我不想从所有其他应用程序中抓取鼠标我只想知道它被按下的位置,因为我希望它对在某个位置按下鼠标做出反应,无论哪个应用程序当前处于活动状态并处于焦点位置?
我尝试过像这样创建一个 QWidget:
#ifndef MOUSECLICK_H
#define MOUSECLICK_H
#include "QWidget"
#include <QMouseEvent>
#include <QDebug>
class mouseClick : public QWidget
{
void mousePressEvent(QMouseEvent* event)
{
QPoint position = event->pos();
qDebug() << position.x();
printf("%d %d,positon.x,position.y");
}
};
#endif // MOUSECLICK_H
然后我只是从 main 中使用了它的 show() 函数,但是一旦另一个应用程序变得活跃并成为焦点,它就不会响应。
如果它有所作为,这适用于 Symbian(Belle)。
我认为事件过滤器可能是答案,但我不知道如何配置它以在焦点窗口之前拦截事件,我不知道要在什么对象上安装它?