Qt QML Gridview 如何限制显示的项目?

标签 qt gridview qml

我是一个QT新手,我通过连接一个列表模型学会了使用 GridView 。我想将事件查看图像限制为 4 个,而不是列表模型中的所有项目

Rectangle {
  id: Rect1;
  width: 1280; height: 720;

  ListModel {

  id: listAssetModel
      ListElement { Movie: "Arrow"; PosterURL: "posters/Arrow.jpg" }
      ListElement { Movie: "Avatar"; PosterURL: "posters/Avatar.jpg" }
      ListElement { Movie: "Avenge"; PosterURL: "posters/Avenge.jpg" }
      ListElement { Movie: "Arrow"; PosterURL: "posters/Arrow.jpg" }
      ListElement { Movie: "Avatar"; PosterURL: "posters/Avatar.jpg" }
      ListElement { Movie: "Avenge"; PosterURL: "posters/Avenge.jpg" }
      ListElement { Movie: "Arrow"; PosterURL: "posters/Arrow.jpg" }
      ListElement { Movie: "Avatar"; PosterURL: "posters/Avatar.jpg" }
      ListElement { Movie: "Avenge"; PosterURL: "posters/Avenge.jpg" }      
  } 

  GridView {
    id: gridAssetPreview;
    currentIndex: -1 // default - no focus on poster
    x: 56; y: 189
    width: 1140; height: 300
    focus: true
    cellWidth: 275; cellHeight: 300 // keeps the poster preview images aligned
    highlight: appHighlight
    model: listAssetModel
    delegate: appDelegate
  }

  Component {
    id: appDelegate

    Item {
      width: 250; height: 350 // controls the appHighlight size

      Image {
        id: imgPosterPreview
        width: 225; height: 325
        source: PosterURL
        smooth: true
      }
      Text {
        id: textAssetName
        anchors { // draw this below and centre to the image
          top: imgPosterPreview.bottom;
          horizontalCenter: imgPosterPreview.horizontalCenter
        }
        text: AssetName
        font.pointSize: 16
        color:"white"
        smooth: true
      }
    }
  }
}

GridView 区域定义如下,但它似乎在运行时显示多行图像,这不是我所期望的。我只想在整个 1280 x 720 屏幕上只看到 4 张图像。 宽度:1140;高度:300

请帮忙,我在星期天遇到了这个问题:-(

最佳答案

添加到您的 GridView:

flow: GridView.TopToBottom

关于Qt QML Gridview 如何限制显示的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15863955/

相关文章:

qt - 如何在带有opencv-cv::Scalar的QT-QColor之间转换?

c# - 将 Div 添加到 GridView

c++ - 将字符串列表从 QML 发送到 C++

javascript - 试图按值而不是引用复制对象数组

c++ - 在 Qt 中捕获标签内的数字

c++ - 模态对话框在调用接受、完成或关闭后挂起

qt - QtWebkit:控制台应用程序

angularjs - AngularJS 树网格的最佳选择

asp.net - 将 TemplateField 的可见性绑定(bind)到 BoundField 的内容

c++ - Qt C++信号转Qml