Qt得到没有焦点的鼠标按下事件

时间:2012-09-08 10:08:56

标签: qt background focus mouse symbian

如何从后台运行的应用程序中获取鼠标的位置(因此它没有焦点)?我不想从所有其他应用程序中抓取鼠标,我只想知道它被按下的位置,因为我希望它能够对某个位置按下鼠标做出反应,无论当前哪个应用程序处于活动状态并且处于焦点位置?

我尝试过像这样创建一个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)。

我认为事件过滤器可能是答案,但我不知道如何配置它以在焦点窗口之前拦截事件,我不知道安装它的对象是什么?

0 个答案:

没有答案