BlinCT
BlinCTAug. 19, 2019, 8:53 a.m.

Не отображается ListView

Всем привет.
Пытаюсь сделать qml обьект ListView который будет меить прокрутку если обьектов там будет больше дефолтной высоты.
Под ним 4 кнопки для добавления и удаления этих обьектов.
Но почему то у меня не отображается он. Подскажите где ошибку допускаю?
Вроде выставил высоту и ширину, но чет не показывает.
И еще, если это важно то я пытаюсь делегат который будет представлять из себя обьекты в листе как индекс : данные
Например:
0 : 124
1 : 333

    ScrollView
    {
        id: scrollView
        anchors.top: parent.top

        ListView
        {
            id: listView
            anchors.fill: parent

            width: 180; height: 200
            anchors.top: parent.top
            anchors.verticalCenter: parent.verticalCenter
            delegate: listDelegate

            contentWidth: 320
            flickableDirection: Flickable.AutoFlickDirection

        }
    }

    Component
    {
        id: listDelegate

        Label
        {
            id: delegateLabel

            anchors.centerIn: parent

            color: "red"

            text: workerA.time
        }
    }

    GridLayout
    {
        id: grid

        rows: 2
        columns: 2
        anchors.top: scrollView.bottom

        rowSpacing: 10
        columnSpacing: 10

        Rectangle
        {
            width: 50
            height: 40
            Text { id: textbutton_1; text: qsTr("ADD"); anchors.centerIn: parent }
            Layout.row: 0; Layout.column: 0;
            gradient: Gradient {
                GradientStop { position: 0.0; color: "lightsteelblue" }
                GradientStop { position: 1.0; color: "blue" }
            }
//            MouseArea { anchors.fill: parent; onClicked: { workerA.change = !workerA.change } }
        }
        Rectangle
        {
            width: 50
            height: 40
            Text { id: textbutton_2; text: qsTr("REM"); anchors.centerIn: parent }
            Layout.row: 1; Layout.column: 0;
            gradient: Gradient {
                GradientStop { position: 0.0; color: "lightsteelblue" }
                GradientStop { position: 1.0; color: "blue" }
            }
            /*onClicked: Core.stack.push(nandTest);*/
        }
        Rectangle
        {
            width: 50
            height: 40
            Text { id: textbutton_3; text: qsTr("START"); anchors.centerIn: parent }
            Layout.row: 0; Layout.column: 1;
            gradient: Gradient {
                GradientStop { position: 0.0; color: "lightsteelblue" }
                GradientStop { position: 1.0; color: "blue" }
            }
            /*onClicked: Core.stack.push(displayTest);*/
        }
        Rectangle
        {
            width: 50
            height: 40
            Text { id: textbutton_4; text: qsTr("STOP"); anchors.centerIn: parent }
            Layout.row: 1; Layout.column: 1;
            gradient: Gradient {
                GradientStop { position: 0.0; color: "lightsteelblue" }
                GradientStop { position: 1.0; color: "blue" }
            }
            /*onClicked: Core.stack.push(touchTest);*/
        }
    }

Заранее спасибо.

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.

Do you like it? Share on social networks!

12
R
  • Aug. 19, 2019, 9:13 a.m.

так модель пуста у вас, що має відображатись?

    BlinCT
    • Aug. 19, 2019, 9:27 a.m.

    Изначально там ничего нету, но по кнопке add для простого примера должен добавится элемент например как я выше написал с индексом и данными. 0 : 345
    Но у листа есть изначально высота.

      BlinCT
      • Aug. 19, 2019, 9:33 a.m.

      Компонент навернео вот таким должен быть

          Component
          {
              id: listDelegate
      
              Row
              {
                  Label { id: index; color: "red"; text: "index :" }
                  Label { id: delegateLabel; color: "red"; text: "123" }
              }
          }
      

      Ну в качестве теста

        Pavel K.
        • Aug. 19, 2019, 9:38 a.m.

        ссылка на весь проект есть?

          R
          • Aug. 19, 2019, 9:45 a.m.

          спробуйте додати, чи буде відображатись

          ListView {
               id: listView
               model: p1model
               delegate: delegate
               anchors.top: p1name.bottom
               anchors.topMargin: units.gu(1)
          }
          
          ListModel {
               id: p1model
               ListElement { score: "0" }
          }
          
            BlinCT
            • Aug. 19, 2019, 9:46 a.m.

            WrapWorker22.tar.gz WrapWorker22.tar.gz

            Вообще вприследуется такая логика что создается лист таймеров, при нажатии на add в лист доабвляется первый таймер и он вместе с его индексом отображается в qml.
            Дефолтно это 0.
            Если нажать старт или стоп то это само собою управление таймером по индексу.
            Единственное что я забыл добавить на qml так это текстовое поле куда вводится руками номер индекса таймера которым надо управлять, или удалить. На стороне крестов там все методы я уже написал.
            Осталось вот с qml разобратся.

              Алексей Внуков
              • Aug. 19, 2019, 10:17 a.m.
              • (edited)

              вам нужна модель, модель отвечает за данные в листе, делегат отвечает за то как эти данные должны отображаться, тоесть у вас есть как отображается, а что отображать нет

              при add должно происходить model.append(data)

                BlinCT
                • Aug. 19, 2019, 11 a.m.

                Кинул вон архив с самим тестовым проектом.

                  BlinCT
                  • Aug. 19, 2019, 11:20 a.m.

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

                    Алексей Внуков
                    • Aug. 19, 2019, 11:29 a.m.

                    я в дороге, по тому примеру что в есть выше вам чтоб заработало нужно примерно следующее

                    ListModel{
                    id: list_model
                    }

                    в ListView добавить model:list_model

                    там где кнопка add по нажатию:
                    list_model.append(delegateLable.text="123")

                      Pavel K.
                      • Aug. 20, 2019, 2:45 a.m.

                      видел ,как время повится , посмотрю

                        BlinCT
                        • Aug. 20, 2019, 3:49 a.m.

                        Спасибо.
                        Для уточнения хотел написать, там класс Timers он в себе имеет лист с таймерами.
                        Таймеры добавляются через метод. То есть как я понимаю то что я хочу отобразить в листе на стороне qml это именно то что имеется в листе из Timers. У каждого таймера есть старт и стоп. Методы тоже у этого класса есть. И поулчается что отобразить хочу те таймеры что добавляются в лист и первой колонкой это индекс данного таймера. Потому что потом по данному индексу хочу удалять их.

                          Comments

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

                          C ++ - Test 004. Pointers, Arrays and Loops

                          • Result:50points,
                          • Rating points-4
                          m

                          C ++ - Test 004. Pointers, Arrays and Loops

                          • Result:80points,
                          • Rating points4
                          m

                          C ++ - Test 004. Pointers, Arrays and Loops

                          • Result:20points,
                          • Rating points-10
                          Last comments
                          i
                          innorwallNov. 11, 2024, 10:12 p.m.
                          Django - Tutorial 055. How to write auto populate field functionality Freckles because of several brand names retin a, atralin buy generic priligy
                          i
                          innorwallNov. 11, 2024, 6:23 p.m.
                          QML - Tutorial 035. Using enumerations in QML without C ++ priligy cvs 24 Together with antibiotics such as amphotericin B 10, griseofulvin 11 and streptomycin 12, chloramphenicol 9 is in the World Health Organisation s List of Essential Medici…
                          i
                          innorwallNov. 11, 2024, 3:50 p.m.
                          Qt/C++ - Lesson 052. Customization Qt Audio player in the style of AIMP It decreases stress, supports hormone balance, and regulates and increases blood flow to the reproductive organs buy priligy online safe Promising data were reported in a PDX model re…
                          i
                          innorwallNov. 11, 2024, 2:19 p.m.
                          Heap sorting algorithm The role of raloxifene in preventing breast cancer priligy precio
                          i
                          innorwallNov. 11, 2024, 1:55 p.m.
                          PyQt5 - Lesson 006. Work with QTableWidget buy priligy 60 mg 53 have been reported by Javanovic Santa et al
                          Now discuss on the forum
                          i
                          innorwallNov. 11, 2024, 8:56 p.m.
                          добавить qlineseries в функции buy priligy senior brother Chu He, whom he had known for many years
                          i
                          innorwallNov. 11, 2024, 10:55 a.m.
                          Всё ещё разбираюсь с кешем. priligy walgreens levitra dulcolax carbs The third ring was found to be made up of ultra relativistic electrons, which are also present in both the outer and inner rings
                          9
                          9AnonimOct. 25, 2024, 9:10 a.m.
                          Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…

                          Follow us in social networks