gpt4 book ai didi

android - Qt/QML SwipeDelegate 在移动设备(Android、iOS)上无法正常工作

转载 作者:行者123 更新时间:2023-11-28 21:11:36 25 4
gpt4 key购买 nike

我是 Qt/QML 编程的新手,正在尝试让以下示例在移动设备上正常运行。当我尝试“向右滑动”然后点击删除按钮时,“Listview-item”不会被删除。在桌面上一切正常,但在移动设备上无法正常工作。谁能帮我解决我的问题?

import QtQuick 2.7
import QtQuick.Controls 2.0

ApplicationWindow {
id: appWindow
visible: true

ListView {
id: listView
anchors.fill: parent
model: ListModel {
ListElement { name: "Swipe Delegate - Test 1" }
ListElement { name: "Swipe Delegate - Test 2" }
ListElement { name: "Swipe Delegate - Test 3" }
ListElement { name: "Swipe Delegate - Test 4" }
}
delegate: SwipeDelegate {
id: swipeDelegate
text: model.name
width: parent.width

ListView.onRemove: SequentialAnimation {
PropertyAction {
target: swipeDelegate
property: "ListView.delayRemove"
value: true
}
NumberAnimation {
target: swipeDelegate
property: "height"
to: 0
easing.type: Easing.InOutQuad
}
PropertyAction {
target: swipeDelegate;
property: "ListView.delayRemove";
value: false
}
}

swipe.right: Label {
id: deleteLabel
text: qsTr("Delete")
color: "white"
verticalAlignment: Label.AlignVCenter
padding: 12
height: parent.height
anchors.right: parent.right

SwipeDelegate.onClicked: listView.model.remove(index)

background: Rectangle {
color: deleteLabel.SwipeDelegate.pressed ? Qt.darker("tomato", 1.1) : "tomato"
}
}
}
}
}

最佳答案

您可以在矩形内添加一个带有 onClicked 事件的 MouseArea。这是示例:

 background: Rectangle {
color: deleteLabel.SwipeDelegate.pressed ? Qt.darker("tomato", 1.1) : "tomato"
MouseArea {
anchors.fill: parent
onClicked: listView.model.remove(index)
}
}

关于android - Qt/QML SwipeDelegate 在移动设备(Android、iOS)上无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42855246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com