1
Flickableには、列レイアウトの2つのRepeatersがあります。私は最初のリピータの最後の項目にスクロールすることを望んでいます。これは可能ですか?Flickableのリピータの最後の項目にスクロールするには
最初のリピータに含まれるアイテムの数を数え、それを使用している代理人の高さで乗算する方法があるとします。 (デリゲートは固定された高さです)。または、リピーターの高さをとり、最後のデリゲートの高さを引いてください。私はこれよりも良い方法を望んでいますが。
import QtQuick 2.7
import QtQuick.Controls 2.0
Item {
id:passwordsView
Flickable {
id: flickable1
anchors.fill: parent
contentHeight: passwordsView_column.height
ScrollBar.vertical: ScrollBar { }
Column {
id:passwordsView_column
spacing: 15
anchors.left: parent.left
anchors.right: parent.right
Repeater {
id: passwordsView_breadcrumb
anchors.left: parent.left
anchors.right: parent.right
model: BreadcrumbModel {}
delegate: PasswordFolderDelegate {
y: 8;
anchors.left: parent.left;
anchors.right: parent.right;
}
}
Repeater {
id: passwordsView_contents
model: PasswordModel {}
PasswordFolderDelegate {
y: 8
anchors.left: parent.left
anchors.right: parent.right
}
anchors.left: parent.left
anchors.right: parent.right
}
}
}
}
例では、新しく読み込まれたアプリケーションがあり、ボタンを押すと機能します。しかし、スクロールしたり位置を変えたりすると、最初に上に移動し、もう一度クリックすると最後の項目に移動します。イベントの最後の項目(この場合はbutton onClick())に常に移動する場所に関係なく、ビューではそれが表示されるようにしたいとの希望でした。 – Encompass
ああ、そうです。くそー。 :( – Mitch
ああ、 'flickable1.contentY = lastItem.mapToItem(flickable1.contentItem、0、0).y'だったはずです。 – Mitch