如何禁用QML对象的可调整大小?我创建的对象的height和width属性基于可伸缩对象,但是当父对象调整大小时,我不希望对象调整大小。我该如何实现?
Window {
id: window
visible: true
title: qsTr("Stack")
Component.onCompleted: {
window.showMaximized()
}
Rectangle {
width:parent.width/2
height:parent.height/2
}
}
在上面的代码中,将以父级大小的1/2创建矩形,我会保持这种方式。当我调整窗口大小时,矩形也将调整大小,我希望在创建矩形后将其固定。我该如何实现?谢谢。
答案 0 :(得分:3)
删除属性绑定。
Window {
id: window
visible: true
title: qsTr("Stack")
Component.onCompleted: {
window.showMaximized()
rect.width = parent.width / 2; // use these
rect.height = parent.height / 2;
}
Rectangle {
id: rect
// width: parent.width/2 // no property bindings
// height: parent.height/2
}
}
通过在rect.width
和rect.height
上使用属性绑定,可以使它们受动态更改。你不要那样相反,您可以从Javascript调用静态分配。
如果将JS代码放在Component.onCompleted
中,它将仅运行一次(每次窗口调整大小时都不会更新)。这些分配不会创建属性绑定,不会修复rect.width
和rect.height
。