我将 Image 对象动态添加到 qtQML 文件中的 GridLayout . 我想定位图像项目,以便每个新图像项目都位于前一个图像项目的右侧,如果该行中没有任何位置,则将其直接放置到下一行 . 这正是我输入这个问题的方式,即字母是我的图像项目,文本框是布局 .

但输出结果如下:

Screenshot of my layout

布局在项目之间留出空间,如屏幕截图所示 . 我已经阅读了gridlayout的属性,尝试了很多组合,但没有提出正确的组合 . 这些是我到目前为止设置的属性:

GridLayout {
    id: myLayout
    anchors.fill: parent

    columnSpacing: preferredColumnSpacing
    rowSpacing: preferredRowSpacing

    Component {
        id: myImageComponent
        Image {
            visible: true
            Layout.alignment: (Qt.AlignLeft | Qt.AlignTop)
            Layout.preferredWidth: preferredImageWidth
            Layout.preferredHeight: preferredImageHeight
        }
    }
}

哪种修改给了我预期的行为?

Edit: 在上面的屏幕截图中,布局有9列,4行但是17个图像项 .