调整QGroupBox中的标题位置(使用样式表)

时间:2017-03-07 18:49:03

标签: qt qtstylesheets qgroupbox

我正在尝试设置QGroupBox以符合某些设计要求:

enter image description here

注意 - 顶部的组标题应位于左侧,但超过框曲率。

使用以下样式表,我得到下面的图像(如果我删除单词"左和#34,则为第二张图像):

QGroupBox {
    font: bold; 
    border: 1px solid silver;
    border-radius: 6px;
    margin-top: 6px;
}
QGroupBox::title {
    subcontrol-origin:  margin;
    subcontrol-position: top left;    // for second image:  top; 
    padding: 0 2px 0 2px;
}

enter image description here enter image description here

所以,似乎我想要的是subcontrol-position: top left;,但增加了偏移。我无处可寻。

添加填充会删除该行,因此它不是我想要的。

我刚才找到了一个选项 - subcontrol-origin:的另一个选项:

QGroupBox::title {
    subcontrol-origin:  padding;
    subcontrol-position: top left; 
    padding: -16 12px 0 12px;
}

看起来几乎是正确的 - 但边界现在切断了标题。

enter image description here

如何移动组合框的标题,使其仍然在左侧但是超过了框曲率,并且曲率保持可见,例如在设计中?

1 个答案:

答案 0 :(得分:7)

应用以下样式:

QGroupBox {
    font: bold;
    border: 1px solid silver;
    border-radius: 6px;
    margin-top: 6px;
}

QGroupBox::title {
    subcontrol-origin: margin;
    left: 7px;
    padding: 0px 5px 0px 5px;
}

我得到这样的东西:

enter image description here