大家好!
我正在开发一个Qt Quick Controls 2应用程序,需要缩小一个SVG图像,使其适合屏幕高度,并将其作为ColumnLayout的一部分。以下是我的代码:
Page {
title: "About"
ColumnLayout {
anchors.fill: parent
spacing: 20
Image {
id: app_logo
source: "images/app_logo.svg"
mipmap: true
Layout.maximumWidth: Math.min(parent.width, 300)
Layout.alignment: Qt.AlignHCenter | Qt.AlignTop
verticalAlignment: Qt.AlignTop
fillMode: Image.PreserveAspectFit
}
Label {
text: "Version 0.1"
font.pointSize: 15
Layout.fillWidth: true
horizontalAlignment: Qt.AlignHCenter
}
}
}
原始SVG大小为1200x500,生成的绘制图像大小为300x125,也通过paintWidth和paintHeight属性显示。我面临的问题是SVG的画布没有改变,仍然是1200x500,导致其他控件(例如标签)移出屏幕:
如何将画布大小设置为实际绘制大小而不会引起绑定循环?
qrc:/main.qml:20:5: QML Page: Binding loop detected for property "contentHeight"
。 - Ilya