Qt 如何在滚动时向上/向下滑动工具栏?

Qt 如何在滚动时向上/向下滑动工具栏?,qt,qml,qtquick2,qtquickcontrols2,Qt,Qml,Qtquick2,Qtquickcontrols2,我相信有一个简单的答案,但我正在努力找到它。 我想做的是在应用程序窗口中基于列表视图元素的滚动(或在移动平台中滑动)为标题创建一个简单的滑动行为 这样做的目的是在垂直滑动列表视图的同时,向上或向下滑动工具栏 以下是一个例子: import QtQuick 2.7 import QtQuick.Controls 2.0 import QtQuick.Layouts 1.3 import QtQuick.Window 2.2 import QtQuick.Layouts 1.1 Applicati

我相信有一个简单的答案,但我正在努力找到它。 我想做的是在
应用程序窗口中基于
列表视图
元素的滚动(或在移动平台中滑动)为
标题
创建一个简单的滑动行为

这样做的目的是在垂直滑动
列表视图的同时,向上或向下滑动
工具栏

以下是一个例子:

import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
import QtQuick.Window 2.2
import QtQuick.Layouts 1.1

ApplicationWindow {
    id: mainWindow
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")
    header: 
        RowLayout {
            height: 30
            ToolBar {
                id: toolBar
                anchors.fill: parent
                ToolButton {
                    id: toolBtn
                    width: parent.height
                    height: width
                }
                Text {
                    id: toolBarText
                    text: qsTr("Toggle hide/show when scroll")
                    anchors.fill: parent
                    horizontalAlignment: Text.AlignHCenter
                    verticalAlignment: Text.AlignVCenter
                        font.pixelSize: 25
                }
            Behavior on y {
                NumberAnimation {
                    //Does not work
                }
            }
        }
    }
    ListModel {
        id: myModel
        Component.onCompleted: {
            for(var i = 0; i <= 100; ++i) {
                myModel.append({pos: i})
            }
        }
    }
    ListView {
        anchors.fill: parent
        spacing: 16
        anchors.top: mainWindow.header.bottom
        model: myModel
        delegate: Rectangle {
            width: parent.width
            height: 50
            border.color: 'black'
            Text {
                text: pos
                anchors.centerIn: parent
            }
        }
        onFlickingVerticallyChanged: {
            //Does not work
            toolBar.y = toolBar.height * (-1)
        }
    } 
}
导入QtQuick 2.7
导入QtQuick.Controls 2.0
导入QtQuick.Layouts 1.3
导入QtQuick.Window 2.2
导入QtQuick.Layouts 1.1
应用程序窗口{
id:主窗口
可见:正确
宽度:640
身高:480
标题:qsTr(“你好世界”)
标题:
行布局{
身高:30
工具栏{
id:工具栏
锚定。填充:父级
工具按钮{
id:toolBtn
宽度:parent.height
高度:宽度
}
正文{
id:工具栏文本
文本:qsTr(“滚动时切换隐藏/显示”)
锚定。填充:父级
水平对齐:Text.AlignHCenter
垂直对齐:Text.AlignVCenter
font.pixelSize:25
}
在y上的行为{
数字化{
//不起作用
}
}
}
}
列表模型{
id:myModel
Component.onCompleted:{
对于(var i=0;i您可以使用:

import QtQuick 2.7
import QtQuick.Controls 2.0

ApplicationWindow {
    id: window
    width: 320
    height: 480
    visible: true

    ListView {
        model: 100
        anchors.fill: parent
        delegate: ItemDelegate {
            text: "Item #" + index
        }

        headerPositioning: ListView.PullBackHeader
        header: ToolBar {
            width: parent.width
            z: 2 // above the delegate items
        }
    }
}