1

I wanted to know how could I make it for a user to add items to my listview, so that his events could stay there, and later move to a database. beneath it the code I've for my listview now i want know if a user with a text-box could add new items to

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 Answer 1

0

you can use ListModel.append()

add two TextField elements (one for nome_evento and the other for tipo_evento) and a Button

So when you click on the button it should append what you wrote on the textfields

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .