Obsolete Members for MouseEvent

QMLのMouseEvent型の以下のメンバは非推奨です。これらは古いソースコードを動作させるために用意されています。新しいコードでは使用しないことを強くお勧めします。

プロパティ

  • source : int (deprecated in 6.2)

プロパティの説明

source : int [read-only, deprecated in 6.2]

このプロパティはQtQuick 6.2から非推奨となりました。新しいコードでは使用しないことを強くお勧めします。

入力ハンドラはacceptedDevices を設定して使用してください。

このプロパティは、マウスイベントのソースを保持します。

マウスイベントのソースは、本物のマウスイベントと人工的なマウスイベントを区別するために使用できます。タッチスクリーンやグラフィックタブレットのような他のポインティングデバイスを使用する場合、アプリケーションが実際のタッチイベントやタブレットイベントを使用しない場合、マウスイベントはオペレーティングシステムやQt自身によって合成される可能性があります。

値は以下のいずれかになります:

  • Qt.MouseEventNotSynthesized - 最も一般的な値です。このような情報が利用可能なプラットフォームでは、この値は、イベントがシステムからの本物のマウスイベントを表していることを示します。
  • Qt.MouseEventSynthesizedBySystem - マウスイベントが、プラットフォームによってタッチまたはタブレットイベントから合成されたことを示します。
  • Qt.MouseEventSynthesizedByQt - マウスイベントが Qt によって未処理のタッチまたはタブレットイベントから合成されたことを示します。
  • Qt.MouseEventSynthesizedByApplication - マウスイベントがアプリケーションによって合成されたことを示します。これにより、アプリケーションによって生成されたマウス・イベントを、システムから来たものやQtによって合成されたものと区別することができます。

例えば、実際のマウスから来るイベントだけに反応させることができます:

MouseArea {
    onPressed: (mouse)=> {
        if (mouse.source !== Qt.MouseEventNotSynthesized)
            mouse.accepted = false
    }

    onClicked: doSomething()
}

押下イベントのハンドラがイベントを拒否した場合、イベントはさらに伝播され、その下にある別のItemがタッチスクリーンからの合成イベントを処理できます。例えば、Flickable がその下で使用されている場合(MouseArea は Flickable の子ではない)、MouseArea が本物のマウスイベントを処理する一方、タッチイベントがその下の Flickable に落ちるようにすることで、タッチスクリーンでフリックする機能を保持することができます。この場合、マウスを使ってFlickableをドラッグする機能は失われますが、Flickableがマウス・ホイール・イベントを受け取ることは妨げられません。


© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.