Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

How to make a "for" loop in QML?



  • Hi!
    How to make a "for" loop in QML?


  • Lifetime Qt Champion

    Hi,

    QML is based on JavaScript, so the same way you would in JavaScript.



  • I did so:

    for (var i = 0; i < 9; i++) 
    

    I get errors:
    qrc:/main.qml:12 Unexpected token `for'

    qrc:/main.qml:12 Unexpected token `var'

    qrc:/main.qml:12 Expected token `,'



  • @Mikeeeeee Syntax is correct, your code is probably located at the wrong place. You need to be in a function to execute some code, or wrap it inside {} and use return. Can you show us the code ?



  • import QtQuick 2.12
    import QtQuick.Window 2.12
    import QtLocation 5.12
    import QtPositioning 5.12
    
    Window {
        visible: true
            width: 480
            height: 720
            title: qsTr("Map OSM")
    
            for (var i = 0; i < 9; i++)  {
                console.log(i)
                i++
            }
    
             Connections
             {
                 target: houseNumber 
             }
    
            Loader
            {
                id: loader
                anchors.fill: parent
                //source: "map.qml"
            }
    }
    
    


  • it is work

    import QtQuick 2.12
    import QtQuick.Window 2.12
    import QtLocation 5.12
    import QtPositioning 5.12
     
    Window {
        visible: true
            width: 480
            height: 720
            title: qsTr("Map OSM")
     
            /* С помощью объекта Connections
              * Устанавливаем соединение с классом ядра приложения
              * */
             Connections
             {
                 target: houseNumber // Указываем целевое соединение
                 /* Объявляем и реализуем функцию, как параметр
                  * объекта и с имененем похожим на название сигнала
                  * Разница в том, что добавляем в начале on и далее пишем
                  * с заглавной буквы
                  * */
                /* onSendToQml: {
                     labelCount.text = count // Устанавливаем счётчик в текстовый лейбл
                 }*/
             }
     
            Loader
            {
                id: loader
                anchors.fill: parent
                //source: "map.qml"
            }
     
            Component.onCompleted: {
                for (var i = 0; i < 9; i++)  {
                    console.log(i)
                    i++
                }
            }
    }
    

Log in to reply