Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt
  • Unsolved
Collapse
qtws26_logo

The Qt Event of the Year: Qt World Summit 2026

Save Your Spot >
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. Modal Flickable List
Qt 6.12 LTS is out! See what's new in the release blog

Modal Flickable List

Scheduled Pinned Locked Moved QML and Qt Quick
13 Posts 4 Posters 8.7k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    anselmolsm
    wrote on last edited by
    #4

    kyleplattner, for more details, check "this example":http://doc.qt.nokia.com/4.7/qml-listview.html#example-usage .

    Anselmo L. S. Melo (anselmolsm)

    1 Reply Last reply
    0
    • ? Offline
      ? Offline
      A Former User
      wrote on last edited by
      #5

      I followed the example exactly and the text will not show up.

      1 Reply Last reply
      0
      • ? Offline
        ? Offline
        A Former User
        wrote on last edited by
        #6

        Here is code I am using:

        @ Rectangle {
        id: rectangle2
        x: 155
        y: 117
        width: 248
        height: 336
        radius: 22
        border.width: 1
        smooth: true
        border.color: "#000000"
        gradient: Gradient {
        GradientStop {
        position: 0
        color: "#5e5e5e"
        }

                GradientStop {
                    position: 1
                    color: "#444444"
                }
            }
        
            ListView {
                id: list_view1
                x: 155
                y: 117
                width: 250
                height: 338
                model: ListModel {}
                    delegate: Text {
                        text: name + ": " + number
                    }
        
            }
        }@
        
        1 Reply Last reply
        0
        • B Offline
          B Offline
          baysmith
          wrote on last edited by
          #7

          Here is a complete example. Is something like this what you are looking for?

          @

          import Qt 4.7

          Item {
          width: 360
          height: 360

          Rectangle {
              id: button
              width: buttonText.width + 10
              height: buttonText.height + 10
              radius: 3
              border.width: 1
              smooth: true
              border.color: "#000000"
              gradient: Gradient {
                  GradientStop {
                      position: 0
                      color: "#5e5e5e"
                  }
                  GradientStop {
                      position: 1
                      color: "#444444"
                  }
              }
              Text {
                  x: 5
                  y: 5
                  id: buttonText
                  text: "Press here"
                  color: "#ffffff"
              }
              MouseArea {
                  anchors.fill:  parent
                  onClicked: {
                      list.visible = !list.visible
                  }
              }
          }
          
          ListView {
              id: list
              visible: false
              anchors.top:  button.bottom
              anchors.bottom:  parent.bottom
              anchors.right:  parent.right
              anchors.left:  parent.left
              model: ListModel {
                  ListElement {
                      name: "Bill Smith"
                      number: "555 3264"
                  }
                  ListElement {
                      name: "John Brown"
                      number: "555 8426"
                  }
                  ListElement {
                      name: "Sam Wise"
                      number: "555 0473"
                  }
              }
              delegate: Text {
                  text: name + ": " + number
              }
          }
          

          }
          @

          Nokia Certified Qt Specialist.

          1 Reply Last reply
          0
          • ? Offline
            ? Offline
            A Former User
            wrote on last edited by
            #8

            Great, that gets the list to show up but what about scrolling with a flick gesture?

            1 Reply Last reply
            0
            • B Offline
              B Offline
              baysmith
              wrote on last edited by
              #9

              Sorry. Forgot to anchor the width. Updated. Try it now.

              Nokia Certified Qt Specialist.

              1 Reply Last reply
              0
              • ? Offline
                ? Offline
                A Former User
                wrote on last edited by
                #10

                So I implemented a list with a highlight but how can I set it up so that my highlight moves with mouse clicks (screen taps)?

                1 Reply Last reply
                0
                • B Offline
                  B Offline
                  baysmith
                  wrote on last edited by
                  #11

                  I would add something like this to the ListView

                  @

                      highlight: Rectangle {
                          width: list.currentItem.width
                          color: "lightsteelblue"
                          radius: 5
                      }
                      focus: true
                      MouseArea {
                          anchors.fill: parent
                          onClicked: {
                              list.currentIndex = list.indexAt(mouseX, mouseY)
                          }
                      }
                  

                  @

                  Nokia Certified Qt Specialist.

                  1 Reply Last reply
                  0
                  • ? Offline
                    ? Offline
                    A Former User
                    wrote on last edited by
                    #12

                    Thanks so much, that does it.

                    1 Reply Last reply
                    0
                    • ? Offline
                      ? Offline
                      A Former User
                      wrote on last edited by
                      #13

                      Hello,
                      I have a problem with that snippet.
                      When I click on the list within its initial view, it performs fine: the highlight runs to the item currently clicked. But when I scroll that flickable ListView, and my visible area starts for instance with 'index=3' item, this line:

                      list.currentIndex = list.indexAt(mouseX, mouseY)

                      still seems to calculate currentIndex as index at initial view when the visible area starts with 'index=1' item.
                      So the larger list and the scrolling distance, the further the highlight from the actual item it should be below.

                      Did I misunderstand your idea?
                      Please help.

                      1 Reply Last reply
                      0

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt
                      • Unsolved