【发布时间】:2018-07-17 16:32:41
【问题描述】:
我正在尝试在 QQuickWidget 中加载一些 QML 表单并不断收到:QML GroupBox: Binding loop detected for property "implicitWidth"
简化的 QML 是:
import QtQuick 2.4
import QtQuick.Controls 1.2
GroupBox {
id: root
title: qsTr("1")
Column {
id: column1
width: parent.width
ComboBox {
id: cbComboBox
width: parent.width
currentIndex: 0
editable: false
}
GroupBox {
id: groupBox
title: "test"
width: parent.width //the problem
Label {
text:"1"
width: parent.width
}
}
}
}
由于某种原因,我似乎无法将 parent.width 或 cbComboBox.width 用于 groupBox。 root.width 工作但太宽了。我错过了什么?我需要嵌套的 GroupBox 具有最大宽度(带间距)。
【问题讨论】:
-
你使用什么版本的 Qt?
-
我看到问题不是groupbox而是Column,它将Column的宽度设置为固定值,您会看到它不再抛出错误。
-
@eyllanesc,5.9.5
-
@eyllanesc,这有帮助,但是 1)我不明白问题的根源 2)新的列宽限制了嵌套 GroupBox 的宽度。我需要它几乎是最大的。实际上整个 QQuickWidget 被放置在垂直对齐的面板中,该面板可以按宽度调整大小,所以我需要 QML 内容的宽度不固定。