Как я могу сохранить в файл JSON модель списка QML?

Привет всем, я хочу знать, возможно ли сохранить в JSON-файл элемент списка модели списка qml и если это возможно, как я могу это сделать?

Это простой код, в котором есть представление списка с моделью списка и кнопка для создания файла JSON:

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    ListModel {
       id:myModel
       ListElement {colorCode: "#d1d1d1" ; nameRectangle:"row1" }
       ListElement {colorCode: "#dbdbdb" ; nameRectangle:"row2" }
       ListElement {colorCode: "#85c7f2" ; nameRectangle:"row3" }
       ListElement {colorCode: "#636363" ; nameRectangle:"row4" }
       ListElement {colorCode: "#4c4c4c" ; nameRectangle:"row5" }
       ListElement {colorCode: "#634f4f" ; nameRectangle:"row6" }
       ListElement {colorCode: "#ddeffb" ; nameRectangle:"row7" }


    }

    ListView{
       id:list
       width: parent.width
       height: parent.height*0.90
       signal updateModel()
       onUpdateModel: {
           list.model=0
           list.model=myModel

       }
       delegate:  Rectangle {

           color: colorCode
           width:list.width*0.95
           height: list.height/4
           Text{

             anchors.fill: parent
             text:nameRectangle
             font.pixelSize: 20

           }

           MouseArea {
            anchors.fill: parent
            onClicked:{ myModel.setProperty(index,colorCode,"#ff0000")
               list.updateModel()
             }

           }
         }
       model:myModel
    }

    Button{

      anchors.top:myModel.bottom
      anchors.bottom: parent.bottom
      width:parent.width
      text:"Save into json file"
      onClicked: {

          //how i can save the list model into json File


      }
    }
}

Я знаю, как разобрать файл JSON. Мой вопрос родился потому, что если я изменяю значение одной из ролей элемента списка (в данном случае, например, colorCode) и перезапускаю приложение, я хочу, чтобы модель имела новое значение. Заранее спасибо.

0 ответов

Другие вопросы по тегам