8

我正在尝试设计 aQGroupBox以匹配某些设计要求:

在此处输入图像描述

注意 - 顶部的组标题应该在左侧但超过盒子曲率。

使用以下样式表,我得到下面的图像(如果我删除单词“left”,则为第二张图像):

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;
}

在此处输入图像描述 在此处输入图像描述

所以,我想要的似乎是subcontrol-position: top left;增加了偏移量。我在任何地方都找不到。

添加填充会擦除线条,所以这不是我想要的。

我刚才发现了一个选项 - 一个不同的选项subcontrol-origin:

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

它看起来几乎是正确的——但现在边框穿过了标题。

在此处输入图像描述

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

4

1 回答 1

11

应用以下样式:

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;
}

我得到这样的东西:

在此处输入图像描述

于 2017-03-08T10:18:51.143 回答