m
Наурыз 21, 2021, 6: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, 8:18 Т.Қ.
  • (өңделген)

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

    m
    • Наурыз 22, 2021, 9: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");
    

      Пікірлер

      Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
      Кіріңіз немесе Тіркеліңіз