我正在尝试将 GridLayout 与内部的一些小部件一起使用,并将布局锚定在一些文本标签下。当我使用anchors.top: textEdit.bottom时,整个应用程序都会掉下来,我不知道为什么。这个 qml 代码,工作正常:
import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12
Item {
id: lcuMain
property int outerSpacing: 10
property int innerSpacing: 5
ConfigFileModel {
id:configFileModel
}
ConfigFileSettings {
id: configFileSettings
}
Component.onCompleted: {
configFileModel.reload()
}
Text {
id: title
anchors {
left: parent.left
leftMargin: outerSpacing
}
text: "Configuration files"
}
ComboBox {
id: comboBox
anchors {
top: title.bottom
topMargin: innerSpacing
left: title.left
right: reloadButton.left
rightMargin: innerSpacing
}
model: configFileModel
textRole: "fileName"
}
Button {
id: reloadButton
anchors {
right: parent.right
rightMargin: outerSpacing
verticalCenter: comboBox.verticalCenter
}
width: height
}
Text {
id: configOptionsText
anchors {
top: reloadButton.bottom
topMargin: outerSpacing
left: parent.left
leftMargin: outerSpacing
}
text: "Configuration Options"
}
GridLayout {
id: grid
columns: 3
Text {
id: logLevelText
text: "Log level"
}
ComboBox {
id: logLevelComboBox
//Layout.alignment: Qt.AlignRight
model: ["debug", "info", "warning", "error", "critical", "off"]
}
Button {
id: setLogLevelButton
//Layout.alignment: Qt.AlignRight
Layout.maximumWidth: height
Layout.maximumHeight: width
text: "Set"
}
}
}
但应用程序看起来像这样
带有“日志级别”文本、组合框和“设置”按钮的行位于网格布局内,我想将其放置在文本“配置选项”下。尝试使用这样的锚:
GridLayout {
id: grid
columns: 3
anchors: {
top: configOptionsText.top
left: parent.left
right: parent.right
}
...
}
但是,应用程序崩溃了。实际上,我尝试的 gridLayout 的任何锚点或定位都会导致应用程序崩溃。请问,知道我在做什么错吗?