Михаиллл
July 10, 2019, 4:17 p.m.

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

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

2

Do you like it? Share on social networks!

4
Evgenii Legotckoi
  • July 10, 2019, 4:36 p.m.
  • The answer was marked as a solution.

Добрый день.

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

    Михаиллл
    • July 11, 2019, 2:43 p.m.

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

    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
      • July 11, 2019, 3:33 p.m.

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

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

      1. buttonBack.onClicked:
      2. {
      3. listModelMyDrivers.append({});
      4. }
        Михаиллл
        • July 11, 2019, 3:37 p.m.

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

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

          Comments

          Only authorized users can post comments.
          Please, Log in or Sign up
          • Last comments
          • AK
            April 1, 2025, 11:41 a.m.
            Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
          • Evgenii Legotckoi
            March 9, 2025, 9:02 p.m.
            К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
          • VP
            March 9, 2025, 4:14 p.m.
            Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
          • ИМ
            Nov. 22, 2024, 9:51 p.m.
            Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
          • Evgenii Legotckoi
            Oct. 31, 2024, 11:37 p.m.
            Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup