0

次のように onClicked イベントを接続できることを知っています。

myMouseAreaID.clicked.connect(someJavaScriptFunction)

しかし、イベント onPressed および onReleased に似たものを見つけることができません...

誰でもこれで私を助けることができますか?

4

3 に答える 3

2

myMouseArea.released.connect(fun)期待どおりに動作しますが、信号は、ボタンが現在押されているかどうかを示す同じ名前のブール型プロパティpressedによって隠されています。したがって、現在、この信号を動的に接続することはできません。

これは実際には既知のバグです。 QTBUG-24477を参照してください。今できることは、特定の機能に依存しないようにアプリケーションを再設計することだけです。

于 2012-07-18T15:25:44.643 に答える
0

それまでの間、回避策を見つけました:

MouseArea
{
    id: ma
    signal onPressedState
    onPressed: onPressedState()
}

後で JavaScript で次のように使用できます。

function someFunction()
{
    ma.onPressedState.connect(someOtherFunction)
}

これは機能します:)

于 2012-07-18T17:21:53.937 に答える
0

別のオプションは、より宣言的Connectionsな型を使用してプレスを処理することです。

Connections {
    target: myMouseAreaID
    onPressed: myPressedFunc()
}
于 2012-07-19T03:38:16.297 に答える