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. [Solved] Dynamic sourceComponent of Loader and changing property of components

[Solved] Dynamic sourceComponent of Loader and changing property of components

Scheduled Pinned Locked Moved QML and Qt Quick
property from lxml modeldynamic delegat
13 Posts 2 Posters 6.0k 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.
  • M Offline
    M Offline
    myQtQml
    wrote on last edited by
    #3

    Hi,
    Thanks a lot. How do I flag it solved?

    1 Reply Last reply
    0
    • p3c0P Offline
      p3c0P Offline
      p3c0
      Moderators
      wrote on last edited by
      #4

      You're Welcome :)
      There's a topic combobox at the bottom. It has the "Mark Solved" option.

      157

      1 Reply Last reply
      0
      • M Offline
        M Offline
        myQtQml
        wrote on last edited by
        #5

        By the way, if I want to change the properties of the components loaded by the loader out of the Loader block, how can that be done? As I understand there is no id of the instances of the components.

        p3c0P 1 Reply Last reply
        0
        • M myQtQml

          By the way, if I want to change the properties of the components loaded by the loader out of the Loader block, how can that be done? As I understand there is no id of the instances of the components.

          p3c0P Offline
          p3c0P Offline
          p3c0
          Moderators
          wrote on last edited by
          #6

          @myQtQml in the same way as earlier. Loader would be accessible outside too.

          157

          1 Reply Last reply
          0
          • M Offline
            M Offline
            myQtQml
            wrote on last edited by
            #7

            item is the present item being loaded. loader.item.text would give text of which component? There are 4 components loaded by the loader in the above example.

            1 Reply Last reply
            0
            • p3c0P Offline
              p3c0P Offline
              p3c0
              Moderators
              wrote on last edited by
              #8

              Ok understood, so in that case to access delegates from outside ListView, you will need to use children or you can set an item as current item and then access it

              listview.currentIndex=1 // 1 is index of delegate, listview = id of ListView
              console.log(listview.currentItem)
              

              157

              1 Reply Last reply
              0
              • M Offline
                M Offline
                myQtQml
                wrote on last edited by
                #9

                I have added the following code to access text of the components

                    Button {
                        width: 100; height: 40; text: "Get Text";
                        anchors.top: listView.bottom
                        onClicked: {
                            listView.currentIndex = 2   // or anything else (0 - 3)
                            console.log(listView.currentIndex, listView.currentItem.text)
                        }
                    }
                

                The output (listView.currentItem.text) is alway undefined for any value of listView.currentIndex. Am I doing anything wrong?

                1 Reply Last reply
                0
                • p3c0P Offline
                  p3c0P Offline
                  p3c0
                  Moderators
                  wrote on last edited by
                  #10

                  Ok. Now you have to go further. The currentItem will be the Loader. Try getting children of it

                  console.log(listView.currentIndex, listView.currentItem.children)
                  

                  and then try accessing the childrens. It is an array.

                  157

                  1 Reply Last reply
                  0
                  • M Offline
                    M Offline
                    myQtQml
                    wrote on last edited by myQtQml
                    #11

                    Working. Thanks again. I don't see any "Mark Solved" option in Topic Tools combobox.

                    1 Reply Last reply
                    0
                    • p3c0P Offline
                      p3c0P Offline
                      p3c0
                      Moderators
                      wrote on last edited by
                      #12

                      Well I do see it. Its the bottom entry in the combobox . I'll mark it as solved.

                      157

                      1 Reply Last reply
                      0
                      • p3c0P Offline
                        p3c0P Offline
                        p3c0
                        Moderators
                        wrote on last edited by
                        #13

                        Strange I'm to not able to mark it as solved. Clicking doesn't have any effect.

                        157

                        1 Reply Last reply
                        0

                        • Login

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