m
21 марта 2021 г. 18:29

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

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

  1. count_page = 3;
  2. for(var i=0;i< count_page;i++){
  3. Qt.createQmlObject('import QtQuick 2.12;
  4. Rectangle {
  5. width: 20
  6. height: 20
  7. Text {
  8. id: text_pagination'+i+'
  9. height: 19
  10. font.pixelSize: 14
  11. text: qsTr("'+String(i)+'")
  12. }
  13.  
  14. }',pagination,"dynamicSnippet"+String(i)+"");
  15.  
  16. }

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

  1. Rectangle {
  2. id: pagination
  3. x: 213
  4. y: 94
  5. width: 125
  6. height: 23
  7.  
  8. }
2

Вам это нравится? Поделитесь в социальных сетях!

2
P
  • 22 марта 2021 г. 20:18
  • (ред.)

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

    m
    • 22 марта 2021 г. 21:34
    • Ответ был помечен как решение.

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

    1. Qt.createQmlObject('import QtQuick 2.12;
    2. Item {
    3. width: parent.width; height: 20
    4. Component {
    5. id: itemDelegate
    6. Text { text: index }
    7. }
    8. GridView {
    9. anchors.fill: parent
    10. model: 5
    11. delegate: itemDelegate
    12. }}
    13. ',pagination,"dynamicSnippet1");

      Комментарии

      Только авторизованные пользователи могут публиковать комментарии.
      Пожалуйста, авторизуйтесь или зарегистрируйтесь