Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

unable for Qstring



  • Sto lavorando per creare una applicazione che mi deve estrapolare i dati da un file XML tramite il XMLlistModel.
    Ma quando file provo a estrapolare la stringa dal tag mi scrive

    Unable to assign [undefined] to QString

    Inserisco l'esempio su cui lavoro
    file attrazioni.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <menouno>
    <zero>
        <uno>primo oggetto</uno>
        <uno>secondo oggetto</uno>
        <uno>terzo oggetto</uno>
    </zero>
    </menouno>
    
    

    file elenco.qml

    import QtQuick 2.0
    import QtQuick.Controls 2.12
    import QtQuick.XmlListModel 2.12
    
    Item{
        XmlListModel
        {
            id: mialista
            source: "attrazioni.xml"
            query: "/menouno/zero"
            XmlRole
            {
                name: "uno"; query:"uno/string()";
            }
        }
    
        ListView
        {
            //   id:lista
            model: mialista
            delegate: delegato
            width:300
            height:300
            anchors.centerIn: parent
            spacing: 5
    
        }
    
        Component
        {
            id:delegato
            Rectangle
            {
                width:100
                height:50
                border.color:"black"
                Text
                {
                    color: "#000000"
                    font.pointSize: 12
                    text: uno  //questa la proprietà incriminata
                    x:0
                    y:0
                }
            }
        }
    }
    


  • @Polly ciao
    Vuoi generare un elemento del modello per ogni <uno>

                query: "/menouno/zero/uno"
                XmlRole
                {
                    name: "uno"; query:"string()";
                }
    


  • Si è esatto è solo la prima di una serie di prove per poi arrivare a quella finale.
    Ho scoperto però l'errore, ma qui mi serve una spiegazione.
    Se metto 3 tag consecutivi di <uno> mi da quell'errore, ma se ne inserisco solo uno in altri gruppi <zero> allora va bene.
    E' qualcosa che forse non so sui file XML?



  • @Polly
    non è un problema avere 3 <uno> consecutivi

    https://doc.qt.io/qt-5/qml-qtquick-xmllistmodel-xmllistmodel.html



  • Grazie mille
    capito perfettamente


Log in to reply