Qt GroupBox内部页边距

Qt GroupBox内部页边距,qt,qml,qtquick2,Qt,Qml,Qtquick2,我将label和label2的边距相对于内部groupBox2设置为零。从图中可以看出,label沿着groupBox2的边界,而label2有额外的边距 GroupBox的内部边距是多少 GroupBox具有定义内部边距的样式,其大小取决于程序运行的平台 查看qt安装目录中的GroupBoxstyle,例如/path\u to\u安装/Qt5.5.0/5.5/Src/qtquickcontrols/Src/controls/style/Base/GroupBoxStyle.qml,在不同平台

我将
label
label2
的边距相对于内部
groupBox2
设置为零。从图中可以看出,
label
沿着
groupBox2
的边界,而
label2
有额外的边距

GroupBox
的内部边距是多少


GroupBox
具有定义内部边距的样式,其大小取决于程序运行的平台

查看qt安装目录中的
GroupBox
style,例如
/path\u to\u安装/Qt5.5.0/5.5/Src/qtquickcontrols/Src/controls/style/Base/GroupBoxStyle.qml
,在不同平台的子目录中也有自定义样式:
桌面/GroupBoxStyle.qml
WinRT/PC/GroupBoxStyle.qml
iOS/GroupBoxStyle.qml

下面是
Base/GroupBoxStyle.qml
中的一部分:

/*! The margin from the content item to the groupbox. */
padding {
    top: (control.title.length > 0 || control.checkable ? TextSingleton.implicitHeight : 0) + 10
    left: 8
    right: 8
    bottom: 6
}
因此,在您的示例中,左边距可能设置为
8

GroupBox
具有未记录的属性
style
,可用于设置自定义样式
GroupBox.style
GroupBoxStyle.qml
标记为内部,因此在更新Qt时要小心,它们可以在未来的Qt版本中更改,而不会发出警告,使用它的代码可能会停止工作

因此,要设置不同的边距大小,您可以将
GroupBoxStyle.qml
复制到项目中,并按如下方式使用:

GroupBox {
    style: GroupBoxStyle {
        padding.left: 0 //your desired padding value
    }
}

GroupBox
具有定义内部边距的样式,其大小取决于程序运行的平台

查看qt安装目录中的
GroupBox
style,例如
/path\u to\u安装/Qt5.5.0/5.5/Src/qtquickcontrols/Src/controls/style/Base/GroupBoxStyle.qml
,在不同平台的子目录中也有自定义样式:
桌面/GroupBoxStyle.qml
WinRT/PC/GroupBoxStyle.qml
iOS/GroupBoxStyle.qml

下面是
Base/GroupBoxStyle.qml
中的一部分:

/*! The margin from the content item to the groupbox. */
padding {
    top: (control.title.length > 0 || control.checkable ? TextSingleton.implicitHeight : 0) + 10
    left: 8
    right: 8
    bottom: 6
}
因此,在您的示例中,左边距可能设置为
8

GroupBox
具有未记录的属性
style
,可用于设置自定义样式
GroupBox.style
GroupBoxStyle.qml
标记为内部,因此在更新Qt时要小心,它们可以在未来的Qt版本中更改,而不会发出警告,使用它的代码可能会停止工作

因此,要设置不同的边距大小,您可以将
GroupBoxStyle.qml
复制到项目中,并按如下方式使用:

GroupBox {
    style: GroupBoxStyle {
        padding.left: 0 //your desired padding value
    }
}