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
}
}
}