如何从用户角度向列表视图添加项目

如何从用户角度向列表视图添加项目

我想知道如何让用户将项目添加到我的列表视图中,以便他的事件可以保留在那里,然后移动到数据库。在它下面是我的列表视图的代码现在我想知道一个带有文本框的用户是否可以将新项目添加到

Rectangle {
y: 170
x: 100
width: rootId.width
height: rootId.height
z: 1
color: "transparent"

ListModel {
    id: nome_eventoModel

    ListElement { nome_evento: "festival multi cultural"; tipo_evento: "Magos" }
    ListElement { nome_evento: "workshop multimedia"; tipo_evento: "IDAS" }
    ListElement { nome_evento: "Congresso jovem"; tipo_evento: "CML" }
    ListElement { nome_evento: "Workshop Ubuntu mobile"; tipo_evento: "Departamento Ubuntu IDAS" }
    ListElement { nome_evento: "Workshop trabalhar com QML"; tipo_evento: "Departamento Ubuntu IDAS" }
}
Component {
    id: nome_eventoDelegate
    Text {
        text: nome_evento;
        font.pixelSize: 24
        anchors.left: parent.left
        anchors.leftMargin: 2
    }
}

ListView {
    y: 10
    anchors.leftMargin: -65
    anchors.topMargin: -37
    anchors.rightMargin: -169
    anchors.bottomMargin: 22
    layoutDirection: Qt.LeftToRight
    anchors.fill: parent
    model: nome_eventoModel
    delegate: nome_eventoDelegate
    focus: true
    highlight: Rectangle {
        color: "#F08080"
        width: parent.width
    }
    section {
        property: "tipo_evento"
        criteria: ViewSection.FullString
        delegate: Rectangle {
            color: "#b0dfb0"
            width: parent.width
            height: childrenRect.height + 4
            Text {
                anchors.horizontalCenter: parent.horizontalCenter
                anchors.verticalCenter: parent

                font.pixelSize: 16
                font.bold: true
                text: section
            }
        }
    }
}
Component {
    id: petdelegate
    Text {
        id: label
        font.pixelSize: 24
        text: if (index == 0)
            label.text = type + " (default)"
        else
            text: type
    }
}

}

答案1

您可以使用ListModel.append()

添加两个TextField元素(一个用于 nome_evento,另一个用于 tipo_evento)和一个Button

因此,当您单击按钮时,它应该附加您在文本字段中写的内容

Button{
    onClicked : 
        if(texField1.text !== "" && texField2.text !== ""){
            nome_eventoModel.append({"nome_evento": texField1.text, 
                                     "tipo_evento": texField2.text})
        }
}

相关内容