バックグラウンドで実行されているアプリケーションからマウスが押された場所を取得するにはどうすればよいですか (そのため、フォーカスがありません)。他のすべてのアプリからマウスを取得したくありません。現在アクティブでフォーカスされているアプリに関係なく、マウスが特定の位置で押されたことに反応するようにしたいので、どこで押されたかを知りたいだけです。
次のような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
そして、メインから show() 関数を使用しましたが、別のアプリがアクティブになりフォーカスされると応答しません。
違いがある場合、これは Symbian(Belle) 用です。
イベントフィルターが答えかもしれないと思いますが、フォーカスされたウィンドウがイベントをインターセプトする前にイベントをインターセプトするように構成する方法がわかりません。インストールするオブジェクトがわかりませんか?