Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
Get Repeater's child
Hello folks, I'm just wondering how I can change the visual element which has been created by the Repeater or other "Positioner" elements. I have the following QML:
After it has been created I want to change some property of one of my "RadioButton" elements but I find no way to accomplish that. I've found the children property but have no clue how to dissect a list I retrieved from that property.
Is there a way to do that?
you can make an array in .js file and add all children in it using onCompleted signal
Kxyu, thanks for the answer!
No options to achieve it without wielding JS?
It is not that I 've something against JS. I just want to have a pure QML solution for this, if any.
There is no way to acquire children from the list, is there?
you can, actually I figured it out) i found the following string in Repeater description:
Items instantiated by the Repeater are inserted, in order, as children of the Repeater's parent
So you can access the children like this:
@import Qt 4.7
Kxyu, it is exactly what I've searched for. Thank you for the solution.
Though I don't understand why the parent item doesn't keep its children amount. Maybe it should? It seems a bit awkward to retrieve children from a Row and get children number from a Repeater :)
Nevertheless, the question is answered.
xsacha last edited by
Well the children array is 0-index. So 0 is the first child. However, a length property will be 1-index.
If you've already accounted for this, it could be that the 0th child is pre-populated (some hidden child?). I haven't tested this though.
Interesting property it should be documented I believe. Because I didn't find any mentions about it neither in documentation nor in the IntelliSense in QtCreator.
Just tested it: a Repeater is the rightful child of an Item that is why you have amount + 1 result. If you exclude Repeater from the item you will have an actual amount.
xsacha last edited by
But if the QML list is nothing more than JS list why there is not a single word about it? How can user find that he can use length property, for example, if he has no clue about a nature of a QML list?
arunasank last edited by
Thank you for this answer, was very helpful!