gpt4 book ai didi

c++ - QML ScrollView 与 ColumnLayout

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:21:09 24 4
gpt4 key购买 nike

我正在尝试围绕 ColumnLayout 创建 ScrollView ,不幸的是我当前的代码不起作用。我知道 ListView,但在我的例子中,我需要创建可滚动的布局,因为它将包含异构元素。

ApplicationWindow {
id: mainwindow
title: qsTr("Hello World")
width: 300
height: 300
visible: true

ScrollView {
anchors.fill: parent

ColumnLayout {
width: mainwindow.width

Image {
anchors.bottomMargin: 10
source: "img/button.jpg"
width: parent.width
height: 400
}

Image {
source: "img/button.jpg"
width: parent.width
height: 500
}
}
}
}

这呈现为(这显然不是我想要的):

QML column layout

有两个问题:

  1. 图像不会拉伸(stretch)到整个窗口宽度,parent.width 将被忽略。我希望图像具有与 ScrollView 完全相同的宽度(无水平滚动)
  2. 图像高度属性被忽略

我做错了什么?

最佳答案

我会使用普通列并直接通过 id 访问所需的宽度属性。据我了解,这些容器元素根据其内容测量其大小,这可能是设置 ColumnLayouts 宽度无效的原因。

这对我有用:

ScrollView 
{
anchors.fill: parent

Column {

Repeater {
model: 4;
delegate: Item {
width: root.width;
height: image.sourceSize.height;

Image {
id: image;
anchors.centerIn: parent;
width: parent.width;
fillMode: Image.Stretch;
source: "img" + (index+1) + ".png"
}
}
}
}
}

在我的例子中,root 只是 parent 的 id。希望这对您有所帮助!

关于c++ - QML ScrollView 与 ColumnLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30656717/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com