0

我正在尝试将 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 的任何锚点或定位都会导致应用程序崩溃。请问,知道我在做什么错吗?

4

0 回答 0