【问题标题】:QGroupBox title vertical alignmentQGroupBox 标题垂直对齐
【发布时间】:2016-10-30 23:18:46
【问题描述】:

我的 UI 中有 QGroupBox。基本样式是2px宽边框,边框半径和标题垂直居中。

我在我的样式表中使用了以下样式(在 .qrc 中,使用 app->setStylesheet 在主应用程序中应用):

QGroupBox {
    border: 1px solid #22a4bc;
    border-radius: 0px;
}

QGroupBox::title {
    subcontrol-origin: margin;
    subcontrol-position: top; /* position at the top center */
}

问题是,标题现在向下几个像素,实际上超过了 groupbox 中的元素。

我想将其设置为居中。我尝试了vertical-align,subcontrol-align,subcontrol-alignment,甚至top:-5px,它实际上使标题居中,但修剪了高于边框的文本。 我在 SO 或 Qt 论坛上没有找到任何解决我问题的答案。

有人知道如何将标题的垂直对齐设置为后中心吗? (我使用 C++、Qt 5.2.1 / msvc2012、Qt Creator 3.6.1 / Windows 7)

【问题讨论】:

    标签: qt alignment qtstylesheets qgroupbox


    【解决方案1】:

    我理解我的错误: 根据盒子模型(边距>边框>填充>内容),我的文本的原点在边距中。但是我的 QGroupBox 中没有边距,所以很奇怪。

    我想出了这种风格,可以满足我的要求:

    QGroupBox {
        border: 1px solid #22a4bc;
        border-radius: 0px;
        padding-top: 10px;
        margin-top: 5px;
    }
    
    QGroupBox:title {
        subcontrol-origin: margin;
        subcontrol-position: top center;
        margin-left: 3px;
        margin-right: 3px;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多