网格不尊重leftMargin

时间:2018-06-03 18:27:30

标签: qt qml qtquickcontrols2

Qt 5.11。我使用Column来定位我的控件。对于此列元素,我设置了anchors.leftMargin: 10。除Grid之外,所有子项都尊重此项。

我得到的截图:

enter image description here

QML代码:

import QtQuick 2.10
import QtQuick.Controls 2.3
import QtQuick.Layouts 1.3

ApplicationWindow {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    Column
    {
        anchors.fill: parent
        anchors.leftMargin: 10

        RadioButton
        {
            text: qsTr("System proxy")
        }

        RadioButton
        {
            text: qsTr("No proxy")
        }

        RadioButton
        {
            text: qsTr("Configure manually:")
        }

        Grid
        {
            columns: 5
            spacing: 10
            Label {text: " "}
            Label {text: qsTr("Address")}
            Label {text: qsTr("Port")}
            Label {text: qsTr("Login")}
            Label {text: qsTr("Password")}
            Label {text: "HTTP"}
            TextField {width: 100}
            TextField {width: 40}
            TextField {width: 100}
            TextField {width: 100}
        }
    }
}

我做错了吗?

1 个答案:

答案 0 :(得分:1)

问题不在于网格而是RadioButton,它们还有一个额外的填充:

enter image description here

Control具有以下布局:

enter image description here

因此解决方案将leftPadding的{​​{1}}设置为0:

RadioButton

enter image description here