m
21 березня 2021 р. 18:29

Добавление объектов в цикле qml

Добрый день.
Хочу в цикле генерить объекты делаю так

     count_page = 3;
     for(var i=0;i< count_page;i++){
             Qt.createQmlObject('import QtQuick 2.12;
                                   Rectangle {
                                    width: 20
                                    height: 20
                                    Text {
                                        id: text_pagination'+i+'
                                        height: 19
                                        font.pixelSize: 14
                                        text: qsTr("'+String(i)+'")
                                    }

                            }',pagination,"dynamicSnippet"+String(i)+"");

         }

рисует последний. Это все соответственно внутри QML-го файла.

  Rectangle {
        id: pagination
        x: 213
        y: 94
        width: 125
        height: 23

    }
2

Вам це подобається? Поділіться в соціальних мережах!

2
P
  • 22 березня 2021 р. 20:18
  • (відредаговано)

Похоже он их создает поверх друг друга, из этого кода не видно, где все размещается.
Попробуйте создавать объекты в Column{} или другом объкте позиционирования.

    m
    • 22 березня 2021 р. 21:34
    • Відповідь була позначена як рішення.

    Спасибо. Решил эту задачу так:

    Qt.createQmlObject('import QtQuick 2.12;
                        Item {
                             width: parent.width; height: 20
                        Component {
                                id: itemDelegate
                                Text { text: index }
                            }
                            GridView {
                                anchors.fill: parent
                                model: 5
                                delegate: itemDelegate
                            }}
              ',pagination,"dynamicSnippet1");
    

      Коментарі

      Only authorized users can post comments.
      Please, Log in or Sign up