Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. Hai, I'm unable to display data from xmllistmodel to main.qml?

Hai, I'm unable to display data from xmllistmodel to main.qml?

Scheduled Pinned Locked Moved Unsolved QML and Qt Quick
qml model qmlxmllistmodelqml lineseriesqml delegate
4 Posts 2 Posters 421 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    Joshika_Namani
    wrote on 11 Oct 2021, 12:04 last edited by
    #1

    main.qml
    import QtQuick 2.0
    import QtCharts 2.0
    import QtQuick.XmlListModel 2.0
    import QtQuick 2.15
    import QtQuick.Controls 2.15
    import QtQml.Models 2.15

    ApplicationWindow {
    width: 1000
    height: 1000
    visible: true
    title: qsTr("Model")

    ChartView {
        id: chartView
        title: "Driver Speeds, lap 1"
        anchors.fill: parent
        legend.alignment: Qt.AlignTop
        animationOptions:ChartView.AllAnimations
        antialiasing: true
    
    }
    XMLLIST{
        id:list
    }
    
    
    Component {
        id: fruitDelegate
        Row {
            spacing: 10
            Text { text: speedTrap }
            Text { text:  driver }
            Text { text:  speed }
        }
    }
    
    ListView {
        anchors.fill: parent
        model: list
        delegate: fruitDelegate
    }
    

    }

    xmllist.qml
    import QtQuick.XmlListModel 2.0
    XmlListModel {
    
        // Hard-coded test data
        xml: "<results><row><speedTrap>0</speedTrap><driver>Fittipaldi</driver><speed>104.12</speed></row>"
            +"<row><speedTrap>0</speedTrap><driver>Stewart</driver><speed>106.12</speed></row>"
            +"<row><speedTrap>0</speedTrap><driver>Hunt</driver><speed>106.12</speed></row>"
    //![1]
            +"<row><speedTrap>1</speedTrap><driver>Fittipaldi</driver><speed>115.12</speed></row>"
            +"<row><speedTrap>1</speedTrap><driver>Stewart</driver><speed>114.12</speed></row>"
            +"<row><speedTrap>1</speedTrap><driver>Hunt</driver><speed>115.12</speed></row>"
            +"<row><speedTrap>2</speedTrap><driver>Hunt</driver><speed>165.23</speed></row>"
            +"<row><speedTrap>2</speedTrap><driver>Fittipaldi</driver><speed>175.23</speed></row>"
            +"<row><speedTrap>2</speedTrap><driver>Stewart</driver><speed>168.23</speed></row>"
            +"</results>"
    //![2]
        query: "/results/row"
    
        XmlRole { name: "speedTrap"; query: "speedTrap/string()" }
        XmlRole { name: "driver"; query: "driver/string()" }
        XmlRole { name: "speed"; query: "speed/string()" }
        }
    
    
    
    B 1 Reply Last reply 11 Oct 2021, 19:22
    0
    • J Joshika_Namani
      11 Oct 2021, 12:04

      main.qml
      import QtQuick 2.0
      import QtCharts 2.0
      import QtQuick.XmlListModel 2.0
      import QtQuick 2.15
      import QtQuick.Controls 2.15
      import QtQml.Models 2.15

      ApplicationWindow {
      width: 1000
      height: 1000
      visible: true
      title: qsTr("Model")

      ChartView {
          id: chartView
          title: "Driver Speeds, lap 1"
          anchors.fill: parent
          legend.alignment: Qt.AlignTop
          animationOptions:ChartView.AllAnimations
          antialiasing: true
      
      }
      XMLLIST{
          id:list
      }
      
      
      Component {
          id: fruitDelegate
          Row {
              spacing: 10
              Text { text: speedTrap }
              Text { text:  driver }
              Text { text:  speed }
          }
      }
      
      ListView {
          anchors.fill: parent
          model: list
          delegate: fruitDelegate
      }
      

      }

      xmllist.qml
      import QtQuick.XmlListModel 2.0
      XmlListModel {
      
          // Hard-coded test data
          xml: "<results><row><speedTrap>0</speedTrap><driver>Fittipaldi</driver><speed>104.12</speed></row>"
              +"<row><speedTrap>0</speedTrap><driver>Stewart</driver><speed>106.12</speed></row>"
              +"<row><speedTrap>0</speedTrap><driver>Hunt</driver><speed>106.12</speed></row>"
      //![1]
              +"<row><speedTrap>1</speedTrap><driver>Fittipaldi</driver><speed>115.12</speed></row>"
              +"<row><speedTrap>1</speedTrap><driver>Stewart</driver><speed>114.12</speed></row>"
              +"<row><speedTrap>1</speedTrap><driver>Hunt</driver><speed>115.12</speed></row>"
              +"<row><speedTrap>2</speedTrap><driver>Hunt</driver><speed>165.23</speed></row>"
              +"<row><speedTrap>2</speedTrap><driver>Fittipaldi</driver><speed>175.23</speed></row>"
              +"<row><speedTrap>2</speedTrap><driver>Stewart</driver><speed>168.23</speed></row>"
              +"</results>"
      //![2]
          query: "/results/row"
      
          XmlRole { name: "speedTrap"; query: "speedTrap/string()" }
          XmlRole { name: "driver"; query: "driver/string()" }
          XmlRole { name: "speed"; query: "speed/string()" }
          }
      
      
      
      B Offline
      B Offline
      Bob64
      wrote on 11 Oct 2021, 19:22 last edited by
      #2

      @Joshika_Namani works for me:

      e12aeabf-f7fd-4809-b858-c8c169314cdd-image.png

      I changed a couple of things:

      1. XMLLIST in main.qml -> XmlList
      2. Saved the 'xmllist.qml' as 'XmlList.qml'
      3. Got rid of the chart stuff.
      J 1 Reply Last reply 13 Oct 2021, 07:39
      0
      • B Bob64
        11 Oct 2021, 19:22

        @Joshika_Namani works for me:

        e12aeabf-f7fd-4809-b858-c8c169314cdd-image.png

        I changed a couple of things:

        1. XMLLIST in main.qml -> XmlList
        2. Saved the 'xmllist.qml' as 'XmlList.qml'
        3. Got rid of the chart stuff.
        J Offline
        J Offline
        Joshika_Namani
        wrote on 13 Oct 2021, 07:39 last edited by
        #3

        @Bob64
        Thanks for your reply, but I'm getting error like Xmllist is not a type.

        1 Reply Last reply
        0
        • J Offline
          J Offline
          Joshika_Namani
          wrote on 13 Oct 2021, 07:53 last edited by
          #4

          Its working now, due to main.cpp it didn't work. Thanks a lot. can I place those speed values in lineseries chart instead of Listview can i take lineseries chart

          1 Reply Last reply
          0

          4/4

          13 Oct 2021, 07:53

          • Login

          • Login or register to search.
          4 out of 4
          • First post
            4/4
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved