Forums

OverviewFelgo 2 Support (Qt 5) › Qt rest example and ListModel

Tagged: 

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #18567

    Nicola
    #18571

    Günther
    Felgo Team

    Hi Nicola,

    when using a ListPage, a default SimpleRow delegate is automatically set for the AppListView shown on the Page. The SimpleRow supports extracting model properties for the list entries automatically, but only for array type models. When using a ListModel the SimpleRow is not able to automatically parse the model to show the text and icon.

    This is expected behavior, and the solution to define a custom SimpleRow to manually set the properties is correct! 😉

    Best,
    Günther

     

    #18573

    Nicola

    I tryed with array:

    Item {
        id: dataModel
        property var dataClub: []
        function setModelData(type, name, icon, code) {
            var club = { "type": type, "text": name, "idclub": code }
            dataClub.push(club)
        }
    
        function clearData() {
    
        }
    
        function updateFromJson(parsedClubJson) {
        ....
    }

    and in the ListPage i set model: MySingleton.dataClub but i see empty rows

    #18577

    Günther
    Felgo Team

    This example works for me to show SimpleRow items with the specified text:

    import Felgo 3.0
    import QtQuick 2.9
    
    App {
      Navigation {
        id: navigation
    
        NavigationItem {
          title: qsTr("List")
          icon: IconType.list
    
          NavigationStack {
            ListPage {
              title: "List"
              model: dataModel.dataClub
            }
          }
        }
      }
    
      Component.onCompleted: dataModel.loadData()
    
      Item {
        id: dataModel
        property var dataClub: []
        function setModelData(type, name, icon, code) {
          var club = { "type": type, "text": name, "idclub": code }
          dataClub.push(club)
        }
    
        function loadData() {
          dataClub = []
          setModelData("Type", "Item 1", IconType.home, 1);
          setModelData("Type", "Item 2", IconType.star, 2);
          setModelData("Type", "Item 3", IconType.list, 3);
          setModelData("Type", "Item 4", IconType.anchor, 4);
          dataModel.dataClubChanged(); // manually trigger signal that array model was modified internally
        }
      }
    }
    

    Best,
    Günther

    #18580

    Nicola

    Perfect! I missed the trigger.

    Thanks

Viewing 5 posts - 1 through 5 (of 5 total)

RSS feed for this thread

You must be logged in to reply to this topic.

Voted #1 for:

  • Easiest to learn
  • Most time saving
  • Best support

Develop Cross-Platform Apps and Games 50% Faster!

  • Voted the best supported, most time-saving and easiest to learn cross-platform development tool
  • Based on the Qt framework, with native performance and appearance on all platforms including iOS and Android
  • Offers a variety of plugins to monetize, analyze and engage users
FREE!
create apps
create games
cross platform
native performance
3rd party services
game network
multiplayer
level editor
easiest to learn
biggest time saving
best support