QML ScrollViewのスクロールが終了した時点で何かしたいと思います。ドキュメンテーションから私はflickableItem.onMovementEndedが私が探していると思っていますが、私はその信号を得ることはありません。私は「動き」を間違って理解していますか? 私はこの最小限のQMLアプリケーションを作成しましたが、console.logは決して呼び出されません。私はQt 5.7または5.5.1のMacでこれを実行します。QML ScrollViewの移動が終了したことにどうやってアクセスしますか?
import QtQuick 2.5
import QtQuick.Controls 1.4
ApplicationWindow {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
ScrollView {
id: scrollView
anchors.fill: parent
flickableItem.onMovementEnded: {
console.log("onMovementEnded")
}
Rectangle {
id: rect
width: 3000
height: 3000
}
}
}
また、「接続」を介して接続することもできませんでした。
Connections {
target: scrollView.flickableItem
onMovementEnded: {
console.log("onMovementEnded")
}
}
入力いただきありがとうございます。はい、バグのようです。あなたが書いたように私はFlickableを交換しなかったし、上から下へ、またはその逆にすばやくスクロールしようとしていた。そして、スクロール・ビューがシュートしてバウンスするときだけonMovementEndedイベントを得る。 – philipp
はい、オーバーシュートした場合にのみ、実際のスクロールは、スクロールバーが最後に到達してオーバーシュートのみに到達するまでフリッキングに実際には影響しません。私のQML経験では、あなたのニーズに合わせて自分でやる必要があります。ストックQMLコンポーネントは、その意図された狭い用途の外ではかなり役に立たない。 – dtech