Михаиллл
10 июля 2019 г. 16:17

Как в QML сделать прямоугольники прокручивающиеся

Добрый день.
Скажите пожалуйста как сделать такие прямоугольники и как их добавлять и убирать?

2

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

4
Evgenii Legotckoi
  • 10 июля 2019 г. 16:36
  • Ответ был помечен как решение.

Добрый день.

Для этого нужно использовать ListView и ListModel. Вот есть статья по ListView в QML . Единственный момент в том, что она по 1-м контролам, а вам нужно использовать вторые. Но там такие базовые вещи, что вряд ли будет большая разница.

    Михаиллл
    • 11 июля 2019 г. 14:43

    Сделал листвив так

    1. ListView
    2. {
    3. id: listViewMyDrivers
    4. x: 38
    5. y: 74
    6. width: 325
    7. height: 490
    8.  
    9. delegate: Item
    10. {
    11. id: itemDelegate
    12. anchors.left: parent.left
    13. anchors.right: parent.right
    14. height: 40
    15.  
    16. Rectangle
    17. {
    18. anchors.fill: parent
    19. anchors.margins: 5
    20. color: "red"
    21. Text {
    22. id: textDriver
    23. text: qsTr("textDriver")
    24. }
    25. }
    26. }
    27.  
    28. model: ListModel
    29. {
    30. id: listModelMyDrivers
    31. }
    32. }

    И кнопкой пытаюсь добавить содержимое

    1. buttonBack.onClicked:
    2. {
    3. listModelMyDrivers.append();
    4. }

    Ничего не добавляется и выдается ошибка: QML ListModel: append: value is not an object
    Скажите пожалуйста, что не так и как добавить элементы.

      Evgenii Legotckoi
      • 11 июля 2019 г. 15:33

      Ну так вы же ничего не передаёте в метод append. Естественно, что ругается ошибками.

      Сделайте хот бы так

      1. buttonBack.onClicked:
      2. {
      3. listModelMyDrivers.append({});
      4. }
        Михаиллл
        • 11 июля 2019 г. 15:37

        Спасибо. Вот так сделал и текст задается

        1. listModelMyDrivers.append({textForTextDriver: "textForTextDriver"});

          Комментарии

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