2011-01-17 15 views
0

カーソルが私のウィジェットの内側にある間にQCursor.setPos()を呼び出しています。私がしたとき、私はそれが欲しくないときにmouseMoveEventが呼び出されます。 Java/Swingでは、イベントを送信せずにカーソルを移動できます。 QCursor.setPos()の呼び出しがmouseMoveEventを送信しないように同様のことを行うことはできますか?QCursor.setPos()を無視するmouseMoved?

bool disableMoveProcess; 

と実行しているロジックをproventためのフラグとしてそれを作る:トリガーmouseMoveEventなしsetPosに方法がないよう

答えて

0

私は、マウスの動きの違いを追跡していました。たとえば、マウスの動きが右に5つあると、5つを保存して次のイベントを無視します。左(これはおそらくsetPosによって呼び出されたことを意味します)。それほどエレガントではありませんが、確実に動作するようです。

0

が見える、 は多分あなたは作成を検討しますか?

このメソッドをQListWidget :: setSelectedを呼び出すために使用します。 QListWidget :: itemSelectionChangedトリガーのマイコードを作成します。

3

これは私のために働くようだ:

myWidget->clearFocus(); 
QCursor::setPos(pos); 
myWidget->setFocus(); 
関連する問題