【发布时间】:2021-07-11 06:20:16
【问题描述】:
我有一定纵横比的矩形和反纵横比的矩形。我想将它们排列在我选择的网格布局中(不需要是常规网格,相反:我更喜欢可以随意构建RowLayouts 和ColumnLayouts 的解决方案)。
我知道我可以使用 Layout.fillHeight 和 Layout.fillWidth 在我的布局中缩放项目。不幸的是,我找不到为我的Rectangles 正确定义纵横比的方法。我知道 QML Image 可以做到这一点(通过其 fillMode 属性),但我没有看到 简单 方法可以很好地做到这一点。
任何正确方向的帮助或指示将不胜感激!
请注意,我假设 QML Layouts 是可行的方法,但如果有一个功能性解决方案只有锚点或简单的 Row/Column 设置,我完全赞成!
另外请注意,我更愿意将两种类型的Rectangle 的面积保持相同,因为在实验时似乎,这并不是那么微不足道...
编辑
尝试我的意思,减去等面积约束。矩形填充宽度,但在高度上留出空间,因为它们受到纵横比和填充宽度的限制。高度也应该如此,但我无法将两者结合起来。
【问题讨论】:
-
您能否提供一张图片来描述您想要实现的目标?这将有助于理解并希望能回答您的问题。
-
@GrecKo 尝试覆盖了我大约 1/3 的约束。我正在向您展示满意的那个;-)。
-
作为一张图片,我的意思是一张满足您所有限制的图片,它可以在绘画中完成,而不必在 QML 中完成,否则您不需要太多帮助;)跨度>
-
好吧,我需要其中几个才能真正显示所有这些。我稍后会尝试制作它们!
-
如果您想要的布局无法完成,您可以查看github.com/Ableton/aqt-cassowary。我还没有真正使用它,所以我无法提供更多细节,但它似乎是一个很好的线索。
标签: qt layout qml aspect-ratio layout-anchor